Apache .htaccess重写具有特殊字符的规则

Apache .htaccess重写具有特殊字符的规则,apache,mod-rewrite,Apache,Mod Rewrite,我正试图让这条规则起作用,尽管出于一些奇怪的原因它没有起作用。我想可能是%的符号把事情搞砸了: http://site.com/c%content_cc%/more-填充/在/在这里 RewriteEngine on RewriteRule ^c%content_cc%/(.*)$ ccontent_cc/$1 [L] 我正试图将其重写为:http://site.com/ccontent_cc/more-stuff/in/here RewriteEngine on RewriteRule

我正试图让这条规则起作用,尽管出于一些奇怪的原因它没有起作用。我想可能是%的符号把事情搞砸了:

http://site.com/c%content_cc%/more-填充/在/在这里

RewriteEngine  on
RewriteRule ^c%content_cc%/(.*)$ ccontent_cc/$1 [L]
我正试图将其重写为:
http://site.com/ccontent_cc/more-stuff/in/here

RewriteEngine  on
RewriteRule ^c%content_cc%/(.*)$ ccontent_cc/$1 [L]
当我使用这个工具,并把我的规则,它回来说,它应该重写正确


问题是浏览器经常在使用它的地方看到
%
登录URL。您可以将
%
字符括在括号中,并按字面意思处理它们。这里我们将从
请求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]