基本上我的重写规则工作正常,但如果我正在使用包含空格的文件或文件夹,它就不起作用,只返回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,只是有一个空格,也会返回错误。
任何人都知道怎么解决这个问题?
答案 0 :(得分:1)
如果您知道完整字符串,请使用\ s(正则空格空格)来匹配它或One \ Word \和\ Another。
在你的情况下:
^test\ folder/(.*)