-2

我有网站 www.example.com/index.php?q=registration 我想将其重定向到 www.example.com/registration

这段代码似乎不起作用,但我不知道为什么。

RewriteEngine On
RewriteRule ^([^/]*)\.html$ /index.php?q=$1 [L]

谁能帮我?

4

2 回答 2

1

试试这个

RewriteEngine On
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
RewriteRule ^([^/]*)(.*)$ /$1[L,QSA]
于 2013-08-28T10:13:35.370 回答
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]
于 2013-08-28T10:02:39.937 回答