.htaccess переписать / перенаправить на существующий подкаталог обратно в корень - PullRequest
0 голосов
/ 13 июня 2018

Я хочу игнорировать только правила перезаписи для существующих файлов.Практически любой другой доступ к этому сайту осуществляется через корневой index.php

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\.[^\/]+$
RewriteRule ^(.*?)/?$ /index.php?p=$1 [L,QSA]

Следовательно, даже существующий каталог должен указывать на корневой index.php, если только он не указывает на существующий файл в этом каталоге..

Отлично работает, если подпапка не существует, но я получаю странное поведение на существующих папках.Содержимое index.php загружается, но затем все относительные ссылки в нем прерываются, потому что браузер клиента действует так, как будто он находится в подпапке.

Например, папка data существует, поэтому, когда вы попали на website.com/data, она перенаправляется на website.com/data/index.php?p=data вместо просто website.com/index.php?p=data, и сайт ломается, потому что ищет website.com/data/build/scripts.js вместо website.com/build/scripts.js.

Мой RewriteBase неверен или просто не работает с существующими подкаталогами?Нужно ли выполнять жесткий редирект, если вызывается существующий subdir?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...