Пробелы в именах файлов и папок с использованием Mod_Rewrite возвращают ошибку 404 или 500 - PullRequest
0 голосов
/ 29 декабря 2011

В основном мои правила перезаписи работают нормально, но если я работаю с файлами или папками с пробелами в них, он не работает и просто возвращает 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 Ответ

1 голос
/ 29 декабря 2011

Используйте \ s (регулярное выражение пробела), чтобы сопоставить его или One \ Word \ And \ Another, если вы знаете полную строку.

В вашем случае:

^test\ folder/(.*)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...