1

我需要这个逻辑来工作:

我想重写这个字符串供用户查看

http://mysite.com/index.php?cl=mykeystringhttp://mysite.com/otherkey/

http://mysite.com/index.php?myvar=test&cl=mykeystring&mysecondvar=morevaluehttp://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

我在第一次重写规则时得到了一些不需要的 amp 符号。任何解决方案?

4

1 回答 1

0

我认为你可以这样做:

RewriteCond %{QUERY_STRING} cl=mykeystring [NC]
RewriteRule ^index.php /otherkey/ [QSA]

这里的文档:http ://httpd.apache.org/docs/2.0/misc/rewriteguide.html

于 2012-05-14T14:23:09.153 回答