我有网站www.example.com/index.php?q=registration我想将其重定向到www.example.com/registration
此代码似乎不起作用,但我不知道原因。
RewriteEngine On
RewriteRule ^([^/]*)\.html$ /index.php?q=$1 [L]
任何人都可以帮助我吗?
答案 0 :(得分:1)
试试这个
RewriteEngine On
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
RewriteRule ^([^/]*)(.*)$ /$1[L,QSA]
答案 1 :(得分:0)
这是因为你的重写规则期待一个.html。将浏览器指向
www.example.com/registration.html
应该与你的htaccess合作;你可以放在另一个规则是:
RewriteRule ^([^/]*)/$ /index.php?q=$1 [L,QSA]
最好将QSA标志添加到您的规则中,以确保附加任何其他查询字符串参数。
最后你的.htaccess应该是这样的:
RewriteEngine On
RewriteRule \.(jpg|png|gif|php)$ - [L]
RewriteRule ^([^/]*)\.html$ /index.php?q=$1 [L,QSA]
RewriteRule ^([^/]*)/$ /index.php?q=$1 [L,QSA]
RewriteRule ^([^a-z0-9_]+)*$ /index.php?q=$1 [L,QSA]