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 文件中的空格&;使用Mod_Rewrite的文件夹名称返回404或500错误_Apache_.htaccess_Url_Mod Rewrite - Fatal编程技术网

Apache 文件中的空格&;使用Mod_Rewrite的文件夹名称返回404或500错误

Apache 文件中的空格&;使用Mod_Rewrite的文件夹名称返回404或500错误,apache,.htaccess,url,mod-rewrite,Apache,.htaccess,Url,Mod Rewrite,基本上,我的重写规则可以正常工作,但如果我处理的文件或文件夹中有空格,它就不起作用,只返回404/500个错误 例如: RewriteRule !^test/ test%{REQUEST_URI} [L] RewriteCond %{THE_REQUEST} ^GET\ /test/ RewriteRule ^test/(.*) /$1 [L,R=301] 上述规则非常有效。但是,如果文件或文件夹中有空间,我将使用以下代码: RewriteRule !^test%20folder/ test%

基本上,我的重写规则可以正常工作,但如果我处理的文件或文件夹中有空格,它就不起作用,只返回404/500个错误

例如:

RewriteRule !^test/ test%{REQUEST_URI} [L]
RewriteCond %{THE_REQUEST} ^GET\ /test/
RewriteRule ^test/(.*) /$1 [L,R=301]
上述规则非常有效。但是,如果文件或文件夹中有空间,我将使用以下代码:

RewriteRule !^test%20folder/ test%20folder%{REQUEST_URI} [L]
RewriteCond %{THE_REQUEST} ^GET\ /test%20folder/
RewriteRule ^test%20folder/(.*) /$1 [L,R=301]
但这只是返回错误!我还试图删除%20,只是有一个空格,这也会返回一个错误

有人知道如何解决这个问题吗?

使用\s(regexp空白)匹配它,或者使用一个\Word\和另一个\Word(如果知道完整字符串)

就你而言:

^test\ folder/(.*)