开发者

How do you match percent symbols in rewrite rules?

I am redirecting URLs for a website, and have the following URL to match and redirect:

example.com/test-string-%2526-more-string/

However, I cannot match the %2526 portion of the string - it seems that Apache is treating the percentage symbol as a special character, and escaping it seems to make no difference. Here's the basic rule I'm trying:

RewriteRule ^test-string-\%2526-more-string/?$ /new-location.htm [R=301,L,NC]

With or without the escaping slash, this rule doesn't fire. I suspect the problem is with how apache processes encoded characters in URLs - %25 translates to a percentage symbol itself, so could Apache be 开发者_如何学Ctranslating "%25" to "%" before running the rule? Or is something else going on?


I experimented with lots of rewrite rules and in the end just went with this:

RewriteRule ^test-string-\%26-more-string/?$ /new-location.htm [R=301,L,NC]

So the %25 was converted to a % symbol.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜