我正在尝试使这个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
当我使用这个工具并输入我的规则时,它会回来说它应该正确重写。
答案 0 :(得分:0)
问题是,浏览器会在URL encoding中经常看到%
登录网址。您可以将%
个字符括在括号中,并按字面意思对它们进行处理。在这里,我们将从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]