我想将网址从http://example.com/?a=cust&page=abc更改为http://example.com/abc。
我尝试了下面提到的代码,但它让我陷入困境:
RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+\?a=cust&page([^\s&]+) [NC]
RewriteRule ^ /%1? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ /?a=cust&page$1 [L,QSA]
那么有关如何使其正常工作的任何帮助? :)
提前致谢。
答案 0 :(得分:0)
首先RewriteCond
中的正则表达式是不正确的。您可以使用:
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} \s/+\?a=cust&page=([^\s&]+) [NC]
RewriteRule ^ /%1? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ ?a=cust&page$1 [L,QSA]
修改强>
这是您想要的新规则:
RewriteCond %{THE_REQUEST} \s/+\?a=([^\s&]+) [NC]
RewriteRule ^ /%1? [R=301,L]