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

时间:2011-12-29 01:05:32

标签: 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%20folder%{REQUEST_URI} [L]
RewriteCond %{THE_REQUEST} ^GET\ /test%20folder/
RewriteRule ^test%20folder/(.*) /$1 [L,R=301]

但这只会返回错误!我还试图删除%20,只是有一个空格,也会返回错误。

任何人都知道怎么解决这个问题?

1 个答案:

答案 0 :(得分:1)

如果您知道完整字符串,请使用\ s(正则空格空格)来匹配它或One \ Word \和\ Another。

在你的情况下:

^test\ folder/(.*)