Почему в .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/, не должно срабатывать первое условие. Что не так?
  • Вопрос задан
  • 2516 просмотров
Решения вопроса 1
@Laptinius Автор вопроса
решено всё :)
просто сделал вот так в последней строчке:
RewriteRule ^(.*)(\/)$ %{REQUEST_FILENAME}.php/ [L]

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

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

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