18:47 

Ryuzaki_rnd
Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
Хао.

Помогите пожалуйста разобраться с .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 в любой папке сайта?

Комментарии
2016-11-22 в 21:14 

fire-dragon
если кратко то это нормальное поведение сервера.

habrahabr.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]

2016-11-22 в 22:08 

Ryuzaki_rnd
Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
fire-dragon, Спасибо, буду пытаться вникнуть.

Я в целом понимаю, что вроде логичное поведение. Ты сказал переписывать - вот сервер и переписывает.
Но просто внезапно было и неудообно. Т.к. система построена на контекстах. В корне только активный, а архивные в подпапках.

Заходишь в корень - видишь данные из активного контекста, заходишь в папку - видишь другой контекст.
И вот получилось, что архив накрылся, т.к. при входе в папку получаешь вот это.(

2016-11-22 в 23:21 

Trotil
You don't have permission to access /folder/.php on this server.

Странно, первая регулярка не должна срабатывать на пустой строке, должен быть минимум один символ "не точка".

2016-11-23 в 09:31 

Ryuzaki_rnd
Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
Trotil, Ну вот, что есть. Я не особо в регулярках htaccess'а шарю, потому и спросил.

Возможно дело в присутствующей звёздочке, которая вроде бы за "любой" символ отвечает.
Точнее, за любое количество символов перед ней, если правильно помню.
То бишь, и за нулевое тоже.

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

Помощь @экспертов – Хард и софт

главная