我正在尝试添加最后一项改进(关于 htaccess),那就是我希望它重定向/?mod=inicio
到/inicio
. 所以我试图用下面的代码来做,但它一直在构建这样的 url/inicio?mod=inicio
RewriteCond %{QUERY_STRING} ^mod=([a-z]+)$ [NC]
RewriteRule .* /%1 [L]
与额外参数相同的事情:从/?mod=x&type=y-z
到/x/y-z
我正在尝试添加最后一项改进(关于 htaccess),那就是我希望它重定向/?mod=inicio
到/inicio
. 所以我试图用下面的代码来做,但它一直在构建这样的 url/inicio?mod=inicio
RewriteCond %{QUERY_STRING} ^mod=([a-z]+)$ [NC]
RewriteRule .* /%1 [L]
与额外参数相同的事情:从/?mod=x&type=y-z
到/x/y-z
请尝试以下规则:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /\?mod=([a-z]+)&type=([a-z\-]+)
RewriteRule ^ /%1/%2? [L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /\?mod=([a-z]+)($|\ )
RewriteRule ^ /%1? [L]
关键是匹配实际请求而不是 URI,因为您的其他规则(来自您之前的问题)将导致这些重写匹配,它们会相互冲突。另一个关键点是?
在目标(例如)的末尾包含 a ,这样就不会附加/%1/%2?
查询字符串。