Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
Хао.
Помогите пожалуйста разобраться с .htaccess.
Есть следующие записи:
# Включает модуль замены.
RewriteEngine On
# Убирает из адресной строки ".php" - Эту регулярку нашёл в сети, не сам писал.
RewriteRule ^(([^/]+/)*[^.]+)$ /$1.php [L]
# Убирает из адресной строки "/modules/" - это писал сам, по увиденному образцу.
RewriteRule ^login.php /modules/login.php
RewriteRule ^details.php /modules/details.php
RewriteRule ^az.php /modules/az.php
RewriteRule ^mz.php /modules/mz.php
RewriteRule ^reglament.php /modules/reglament.php
Проблема обнаружилась только сейчас. При наличии такой вот радости, перестаёт "по умолчанию" грузиться index.php, если просто в папку заходишь.
Пишет: Forbidden
You don't have permission to access /folder/.php on this server.
То бишь, если заходишь в корень сайта - грузит index.php.
Если заходишь в любую поддиректорию - пишет, что нет доступа к .php (сообщение, что выше).
Собсно вопрос - как, имея правила для подстановки, сохранить дефолтный index.php в любой папке сайта?
Помогите пожалуйста разобраться с .htaccess.
Есть следующие записи:
# Включает модуль замены.
RewriteEngine On
# Убирает из адресной строки ".php" - Эту регулярку нашёл в сети, не сам писал.
RewriteRule ^(([^/]+/)*[^.]+)$ /$1.php [L]
# Убирает из адресной строки "/modules/" - это писал сам, по увиденному образцу.
RewriteRule ^login.php /modules/login.php
RewriteRule ^details.php /modules/details.php
RewriteRule ^az.php /modules/az.php
RewriteRule ^mz.php /modules/mz.php
RewriteRule ^reglament.php /modules/reglament.php
Проблема обнаружилась только сейчас. При наличии такой вот радости, перестаёт "по умолчанию" грузиться index.php, если просто в папку заходишь.
Пишет: Forbidden
You don't have permission to access /folder/.php on this server.
То бишь, если заходишь в корень сайта - грузит index.php.
Если заходишь в любую поддиректорию - пишет, что нет доступа к .php (сообщение, что выше).
Собсно вопрос - как, имея правила для подстановки, сохранить дефолтный index.php в любой папке сайта?
-
-
22.11.2016 в 21:14habrahabr.ru/post/141424/
Читайте комменты, там самое главное и есть примеры
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
# Exclude directories from rewrite rules
RewriteRule ^(css|i|js|storages|assets) - [L]
# For Friendly URLs
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]
-
-
22.11.2016 в 22:08Я в целом понимаю, что вроде логичное поведение. Ты сказал переписывать - вот сервер и переписывает.
Но просто внезапно было и неудообно. Т.к. система построена на контекстах. В корне только активный, а архивные в подпапках.
Заходишь в корень - видишь данные из активного контекста, заходишь в папку - видишь другой контекст.
И вот получилось, что архив накрылся, т.к. при входе в папку получаешь вот это.(
-
-
22.11.2016 в 23:21Странно, первая регулярка не должна срабатывать на пустой строке, должен быть минимум один символ "не точка".
-
-
23.11.2016 в 09:31Возможно дело в присутствующей звёздочке, которая вроде бы за "любой" символ отвечает.
Точнее, за любое количество символов перед ней, если правильно помню.
То бишь, и за нулевое тоже.