【发布时间】:2013-01-17 07:09:46
【问题描述】:
我正在努力
domain.com/notalone/viewpost/5/
充当
domain.com/notalone/viewpost.php?id=5
我当前的 .htaccess 是这样的:
RewriteEngine On
RewriteRule ^notalone/viewpost/([0-9]+)/?$ /viewpost.php?id=$1 [QSA]
目前,当您访问/notalone/viewpost/5/ 时页面正常加载,但它没有通过$_GET['id']
我尝试过的事情:
- 添加
Options -Multiviews---> 导致 404 - 使用
Rewritebase /---> 没有效果 -
RewriteRule ^viewpost/([0-9]+)/?$ /viewpost.php?id=$1 [QSA]---> 没有效果
【问题讨论】:
-
结合
[QSA]和?id=$1可能会遇到挑战。你可以使用:RewriteRule ^viewpost/([0-9]+)/?$ /viewpost.php?id=$1&%{QUERY_STRING}没有 QSA -
如果您将 $1 硬编码为诸如 'blah' 之类的字符串,它会通过吗?可能是您的 $1 变量没有捕获您认为的内容。
-
不走运。这是服务器变量的 sn-p
["QUERY_STRING"]=> string(0) "" ["REQUEST_URI"]=> string(21) "/notalone/viewpost/5/" -
@EricLeschinski 将其更改为
blah和5,两者均无效。
标签: mod-rewrite get