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

Почему в .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 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    1С-программист
    10 месяцев
    Далее
  • Skillbox
    Профессия 1C-разработчик
    8 месяцев
    Далее
  • Hi-TECH Academy
    KL 004.2.4 Kaspersky SD-WAN
    2 дня
    Далее
Решения вопроса 1
@Laptinius Автор вопроса
решено всё :)
просто сделал вот так в последней строчке:
RewriteRule ^(.*)(\/)$ %{REQUEST_FILENAME}.php/ [L]

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

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

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