我有一个链接
http://example.com/fightblog/home/heading.php?id=15&title=whatever
使用此规则后
Options -MultiViews
RewriteEngine On
RewriteBase /fightblog/home/
RewriteCond %{THE_REQUEST} /heading\.php\?id=([^\s&]+)&title=([^\s&]+) [NC]
RewriteRule ^ %1/%2? [R=302,L,NE]
RewriteRule ^(\w+)/(\d+)/?$ heading.php?id=$1&title=$2 [L,QSA,NC]
我可以重定向到
http://example.com/fightblog/home/15/whatever
这是正确的。但我的查询是,它给出错误404.找不到页面。
如何解决此错误?并且我还想在重定向后使用$ _GET ['id']中的id值
答案 0 :(得分:1)
将重写规则更改为:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([\w.-]+)/([\w.-]+)/?$ heading.php?id=$1&title=$2 [L,QSA,NC]
这样两个参数都接受单词字符或连字符。