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条)

报告相同问题?

悬赏问题

  • ¥50 STM32单片机传感器读取错误
  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签)
  • ¥50 sft下载大文阻塞卡死
  • ¥15 机器人轨迹规划相关问题
  • ¥15 word样式右侧翻页键消失
  • ¥15 springboot+vue 集成keycloak sso到阿里云
  • ¥15 win7系统进入桌面过一秒后突然黑屏
  • ¥30 backtrader对于期货交易的现金和资产计算的问题
  • ¥15 求C# .net4.8小报表工具