1

我正在尝试使这个 RewriteRule 工作,尽管它不是出于某种奇怪的原因。我在想可能是 % 符号搞砸了:

http://site.com/c%content_cc%/more-stuff/in/here

RewriteEngine  on
RewriteRule ^c%content_cc%/(.*)$ ccontent_cc/$1 [L]

我试图让它重写为:http://site.com/ccontent_cc/more-stuff/in/here

当我使用这个工具并输入我的规则时,它会回来说明它应该正确重写。

http://htaccess.madewithlove.be/

4

1 回答 1

0

问题是浏览器%URL 编码中经常看到登录 URL 。您可以将%字符括在括号中,并按字面意思对待它们。在这里,我们将它们从REQUEST_URI.

RewriteEngine  on
RewriteCond %{REQUEST_URI} ^/c[%]content_cc[%]/(.*)$
RewriteRule ^.* ccontent_cc/%1 [L]

如果这是一个重定向,您应该使用该R标志:

RewriteEngine  on
RewriteCond %{REQUEST_URI} ^/c[%]content_cc[%]/(.*)$
RewriteRule ^.* ccontent_cc/%1 [R,L]

如果它是永久重定向,您应该使用R=301

RewriteEngine  on
RewriteCond %{REQUEST_URI} ^/c[%]content_cc[%]/(.*)$
RewriteRule ^.* ccontent_cc/%1 [R=301,L]
于 2013-06-23T01:01:53.983 回答