我想将包含符号和数字的网址,字符重定向到其他网址以及...最后包含%00
的网址需要重定向到其他网址。
示例:
www.example.com/asdnsadnas%00
重定向到其他网址。
%00
未被重定向网址接受,请帮帮我。
答案 0 :(得分:1)
你如何处理这真的取决于其他什么"符号和数字"你指的是URL出现在哪里。
由于RewriteRule
模式与%-decoded网址路径匹配,%00
NULL ,因此要抓住%00
在URL路径中,您可以尝试与THE_REQUEST
进行匹配,其中包含请求的第一行 raw (不是%-decoded)。
www.example.com/asdnsadnas%00
重定向到其他网址。
例如,在根.htaccess
文件的顶部附近尝试以下操作:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /asdnsadnas%00\ HTTP
RewriteRule ^asdnsadnas /another-url [R,L]
RewriteRule
模式只检查网址的第一部分,直到%00
。
如果您只是想重定向/asdnsadnas
并忽略该网址路径后面的所有内容,那么您就不需要明确检查%00
,因此您可以删除{{1}指令。
RewriteCond
需要重定向到www.example.com.nz/XYZABC%00
- 任何字母或符号等,但我需要最后www.example.com.nz/insurance-hub-page/xsserror/ XYZABC
的任何网址,需要重定向到另一个网址。
(我假设目标网址中的 space 只是错字?)
在这种情况下,您不一定需要匹配%00
(一个"字符"您不想要的)。只是要具体说明你想要匹配的字符(这可能是一个较小的子集)。
例如,以下内容会将%00
重定向到/XYZABC
。尾随/insurance-hub-page/xsserror/XYZABC
将被忽略。
%00
...但我需要在结尾
RewriteRule ^(\w+) /insurance-hub-page/xsserror/$1 [R,L]
处的任何网址都需要重定向到另一个网址。
不确定你是什么意思?
如果网址包含任何需要重定向到其他网址的特殊字符或符号等示例:
%00
您可以检查请求的网址是否包含任何%编码字符,这似乎符合您的示例:
www.example.com/%28dsajkd%20nkasd%20daskdasj%00