Задать вопрос

Почему в .htaccess конфликт двух условий?

добрый день.
Почему эти 2 условия конфликтуют друг с другом?
# вторая часть (делает редирект для  *.php)
RewriteCond %{REQUEST_URI} ^(.*)\.php$
RewriteRule ^(.*)\.php$ $1\/ [L,R=301]

# третья часть (site.ru/*/ открывает как site.ru/*.php)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)(\/)$ %{REQUEST_FILENAME}.php [L]


По идее если я зашёл на site.ru/page/, не должно срабатывать первое условие. Что не так?
  • Вопрос задан
  • 2521 просмотр
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик с нуля
    6 месяцев
    Далее
  • Skillfactory
    DevOps-инженер
    6 месяцев
    Далее
  • SF Education
    Бэкенд-разработчик на Python
    3 месяца
    Далее
Решения вопроса 1
@Laptinius Автор вопроса
решено всё :)
просто сделал вот так в последней строчке:
RewriteRule ^(.*)(\/)$ %{REQUEST_FILENAME}.php/ [L]

Вроде всё работает как надо
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы