На моем веб-сервере я хотел бы перенаправить все посещения определенного файла за два исключения. Если URI равен mydomain.com/Folder1
или mydomain/Folder2
(и что-нибудь позади этого), они должны работать нормально. Я пробовал с:htaccess RewriteCond не работает
RewriteCond %{REQUEST_URI} !=www.mydomain.com/Folder1.* | www.mydomain.com/Folder2.*
RewriteRule ^.*$ www.mydomain.com/error.php [R=301,L]
RewriteCond %{DOCUMENT_ROOT}/$1 -d
RewriteRule ^(.*?[^/])$ %{REQUEST_URI}/ [L,NE]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/?$ /index.php?path=$1 [NC,L,QSA]
Но это правило не работает. Может кто-нибудь, пожалуйста, взгляните на него?
Хорошо, спасибо за это. Это отлично работает, но у меня есть еще два RewriteRules в моем файле htaccess, которые применяются после этого условия (я добавил их к вопросу). Можно ли пренебречь ими, если применяется первое правило или мне нужно переписать их? – Cilenco
Это замечательно! Спасибо за это! Не могли бы вы также объяснить, что делает '\ s/+'? – Cilenco
Поскольку я использую переменную 'THE_REQUEST' здесь, а пример значения этой переменной -' GET /index.php?id=123 HTTP/1.1' здесь '\ s/+' соответствует пробелу после 'GET', а затем 1 или более пробелы в начале URI – anubhava