【发布时间】:2014-09-22 10:18:52
【问题描述】:
当我使用 .htaccess 重写规则将 /posts/post.php?postid=1 重写为 /posts/1 时,重写工作和 post.php页面加载。
.htaccess 文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /posts/
RewriteRule ^([a-zA-Z0-9]+)$ post.php?postid=$1
</IfModule>
但是,当我想将 URL 中的多个变量 (/posts/post.php?date=2014-07-28&title=title%20of%20post 传递给 /posts/ 2014-07-28/title%20of%20post) 触发错误 404。
.htaccess 文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /posts/
RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ post.php?date=$1&title=$2
</IfModule>
对此问题的任何帮助将不胜感激并提前致谢。
【问题讨论】:
-
阅读 QSA 标志。这就是你要找的。span>
-
@TerryE 我已经阅读了 QSA 标志,实施了必要的更改并尝试了它,但是它似乎没有工作,它仍然导致错误 404。
标签: .htaccess mod-rewrite http-status-code-404