我正在尝试重定向一个url,如:
http://www.mywebsite.com/directory/p%3E%20%3Cp%3Efashion/tshirts
http://www.mywebsite.com/directory/p%3E%20somewhere/else
至
http://www.mywebsite.com/directory
但是,我如何告诉我的重写程序查找%代码?
我试着把它敲进去:
RewriteRule ^directory/p%3E%20%3Cp%3Efashion/tshirts http://www.mywebsite.com/directory [R,L,NE,NC]
尝试在URL周围添加引号:
RewriteRule ^"directory/p%3E%20%3Cp%3Efashion/tshirts" http://www.mywebsite.com/directory [R,L,NE,NC]
并尝试将未编码的版本进行测试:
RewriteRule ^directory/</p>%20<p>fashion/tshirts http://www.mywebsite.com/directory [R,L,NE,NC]
它们都没有重定向。我刚收到一个404的预期。
我们非常感谢任何帮助。
您有两个选项来处理这样的URL。
1.匹配编码的URL(正如您所尝试的):
RewriteRule ^directory/p>s<p>fashion/tshirts /directory [R,L,NC]
或带引号:
RewriteRule "^directory/p> <p>fashion/tshirts" /directory [R,L,NC]
唯一的区别是应该使用s
或" "
来匹配空间。
2.使用十六进制代码匹配原始URL(更通用的解决方案):
RewriteRule ^directory/px3Ex20x3Cpx3Efashion/tshirts /dir [R,L,NC]
正如您所看到的,您需要使用x3E
来匹配3E
。