我需要这个逻辑才能工作:
我想重写此字符串供用户查看
http://mysite.com/index.php?cl=mykeystring 至 http://mysite.com/otherkey/
http://mysite.com/index.php?myvar=test&cl=mykeystring&mysecondvar=morevalue 至 http://mysite.com/otherkey/myvar=test&mysecondvar=morevalue
但是当写http://mysite.com/otherkey/时,加载 http://mysite.com/index.php?cl=mykeystring,但不会进行重定向。
有可能吗?不可能在代码中更改任何内容,但只能更改.htaccess
这个逻辑几乎可以通过以下代码实现:
RewriteCond %{QUERY_STRING} ^(.*?)cl=mykeystring(.*?)$ [NC]
RewriteRule ^index.php$ /otherkey/%1%2? [R,L]
RewriteRule ^otherkey/(.*?)$ /index.php?cl=mykeystring&$1
但我在首次重写规则中获得了一些不需要的放大符号。任何解决方案?
答案 0 :(得分:0)
我认为你可以这样做:
RewriteCond %{QUERY_STRING} cl=mykeystring [NC]
RewriteRule ^index.php /otherkey/ [QSA]