问题网址链接到我的网站的格式为
/fullpage.php%3F%20cp3_Hex%3D0F0200%26cp2_Hex%3D000000%26cp1_Hex%3DFC2024
未编码的网址是
/fullpadge.php?cp3_Hex=0F0200&cp2_Hex=000000&cp1_Hex=FC2024
Apache返回:
403:您无权访问/fullpage.php? cp3_Hex = 0F0200&安培; cp2_Hex = 000000
我尝试了以下重写规则
RewriteRule ^ / fullpage.php%3F(。*)$ /fullpage.php?$1
无济于事
任何想法
答案 0 :(得分:-3)
您几乎肯定会收到403错误。 这个错误是因为?是Windows和Linux上的禁止文件/目录名称字符。这意味着当Apache尝试查找名为" /document/root/index.php?blah"的文件或目录时(解码后),它会导致403错误。这是在读取.htaccess文件之前,因此您无法在.htaccess文件中使用mod_rewrite来覆盖此403错误或.htaccess文件中定义的ErrorDocument以捕获此错误。
捕获%3f的唯一方法是在" VirtualHost" 中使用mod_rewrite或ErrorDocument,例如在httpd-vhosts.conf中(或主服务器配置,如果没有" Virtualhost"例如在httpd.conf中)。