我总是吮吸.htaccess 我正在尝试建立一个网站,所有请求都通过index.php进行,但我希望网址像www.sample.com/home。有效的网址将加载www.sample.com/index.php?page=home
现在我有
RewriteRule ^/([a-z0-9-]+) /index.php?page=$1 [NC,PT,L]
即使regexr测试显示它应该也不起作用。我暂时将其更改为r = 301,因此我可以看到重定向,并注意到www.sample.com/home正在重定向到www.sample.com/index.php?page=/index.php :(
有什么想法吗?
注意我已经搜索了一段时间,我找不到真正有效的解决方案。这不是我的第一站。
答案 0 :(得分:3)
将您的规则更改为:
# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+index\.php\?page=([^\s&]+) [NC]
RewriteRule ^ /%1? [R=301,L]
RewriteRule ^([a-z0-9-]+)/?$ /index.php?page=$1 [QSA,L,NC]