Прозрачный RewriteRule не применяется к папкам - PullRequest
0 голосов
/ 13 июня 2019

Я создал RewriteRule в файле .htaccess для прозрачного перенаправления всех запросов к определенному домену в подпапку.

# mydomain.ch -> mydomain.ch/domainfolder
RewriteCond %{HTTP_HOST} ^mydomain.ch
RewriteCond %{REQUEST_URI} !domainfolder/
RewriteRule ^(.*)$ domainfolder/$1 [L,QSA] 

Он отлично работает для доступа к файлам.

Например, когдапосетитель пытается получить доступ к https://mydomain.ch/index.html, который показывает файл index.html из папки домена.Посетитель никогда не видит часть доменной папки в URL-адресе в адресной строке

Когда я пытаюсь получить доступ к папке на этой веб-странице (например, изображения), вместо отображения https://mydomain.ch/pictures/ он преобразует запрос в https://mydomain.ch/domainfolder/pictures/

Доменная папка никогда не должна быть видна посетителю.Как я могу изменить RewriteRule для прозрачной работы как для файлов, так и для папок?

1 Ответ

0 голосов
/ 16 июня 2019

Добавьте к своим правилам в строке .htaccess "RewriteCond% {REQUEST_FILENAME}! -D" исключение каталогов

RewriteEngine On
RewriteCond %{HTTP_HOST} ^mydomain.ch
RewriteCond %{REQUEST_URI} !domainfolder/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ domainfolder/$1 [L,QSA] 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...