duanci8209 2015-06-11 18:06
浏览 72
已采纳

找不到.htaccess重写规则页面

If page name doesn't exist then I would like to show page not found instead of a blank white page.

.htaccess:

RewriteEngine On
RewriteRule ^([0-9a-z\-\_]+)?$ page.php?name=$1 [L,QSA,NC]

page.php:

$name = filter_input(INPUT_GET, 'name');

$result = $mysqli->query("SELECT * FROM pages WHERE name='$name'");

while ($row = $result->fetch_assoc()) {
    echo $row['content'];

}

If some of you know a better way, please share it :)

  • 写回答

2条回答 默认 最新

  • douyi1084 2015-06-11 19:37
    关注

    You can change your PHP code like this:

    $name = filter_input(INPUT_GET, 'name');
    
    if ($result = $mysqli->query("SELECT * FROM pages WHERE name='$name'")) {
       if ( $result->num_rows == 0 ) {
          printf('404 / page Not Found');
          exit;
       }
       else {
          while ($row = $result->fetch_assoc()) {
             echo $row['content'];
          }
       }
    } else {
       printf("Error: %s
    ", $mysqli->error);
       exit;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?