Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache htaccess重写忽略Url编码_Apache_.htaccess_Mod Rewrite_Redirect - Fatal编程技术网

Apache htaccess重写忽略Url编码

Apache htaccess重写忽略Url编码,apache,.htaccess,mod-rewrite,redirect,Apache,.htaccess,Mod Rewrite,Redirect,我刚刚进行了更新,目前正在Apache的htaccess文件中设置所有301重定向。所有重定向都使用当前格式 Redirect 301 /old+url+4343/ http://www.newsite.com/new-url-here/ 但是我注意到很多旧的URL都有一些编码——主要是带有标题问题的。Apaches htaccess似乎忽略了编码,或者只是失败,什么也不做。例如,这不起作用 Redirect 301 /old+question+title%3F/ http://www.new

我刚刚进行了更新,目前正在Apache的htaccess文件中设置所有301重定向。所有重定向都使用当前格式

Redirect 301 /old+url+4343/ http://www.newsite.com/new-url-here/
但是我注意到很多旧的URL都有一些编码——主要是带有标题问题的。Apaches htaccess似乎忽略了编码,或者只是失败,什么也不做。例如,这不起作用

Redirect 301 /old+question+title%3F/ http://www.newsite.com/new-question-title%3F/
在这种情况下%3F应该是问号(?)。我可以正常访问该网站,如果我复制和粘贴的网址-这工作刚刚好

我也尝试过在htaccess中设置字符集,看看它是否起作用,但不幸的是,它没有起作用,这就是代码

AddDefaultCharset UTF-8

关于Apache为什么会忽略url编码以及我如何覆盖它,有什么想法吗?

重定向
指令非常有限,最好对正则表达式功能和标记(如
NE
)使用
RewriteRule

RewriteEngine On
RewriteRule ^old\+question\+title\x3F/ /new-question-title\%3F/ [L,NC,NE,R=302]

顺便说一句,这是一条经过适当测试的规则,因此我希望在此给出一个否决的理由hi@anubhava,谢谢你的回答-不幸的是,它似乎不起作用(顺便说一句,我没有否决)。htaccess文件似乎像以前一样忽略了规则。我需要转义目录url中的任何斜杠吗?你能告诉我你使用的完整url和这个htaccess的位置吗?