我觉得我已经尝试过一切都做了一个相当简单的重写,但我无法让它工作!我真的不是htaccess的专家。
说我的网址为example.com/setup/
,我在example.com/setup/?cloud=true
我需要在example.com/setup/cloud/
它必须是一个实际的规则(而不是只有1个重写1),因为整个网站使用了这种模式。
基本上,如果?cloud=true
位于网址的末尾,则该网页需要在完全相同的网址上访问,但最后使用/cloud/
而不是?cloud=true
以下是我认为最接近正确规则的情况,但可能仍有一段距离:
RewriteCond %{QUERY_STRING} ^(.*)/cloud$
RewriteRule ^(.*)$ $1?cloud=true
答案 0 :(得分:1)
以下规则集应达到预期目的:
RewriteEngine On
RewriteCond %{THE_REQUEST} ^GET\ /(.+)\?(cloud)=true
RewriteCond %{QUERY_STRING} ^cloud=true$
RewriteRule ^ /%1/%2? [R=301,L]
RewriteRule ^(.+)/cloud/?$ /$1?cloud=true [NC,QSA,L]