Обрабатывать подкаталог с помощью htaccess, если базовый каталог обрабатывается как файл

У меня есть два файла в моем корневом каталоге: news.php а также news-detail.php, И я хочу, чтобы они были в следующем порядке:

example.com/news -> /news.php
example.com/news/(\d+) -> /news-detail?id=(\d+)

Поэтому я решил сделать переписать с моим .htaccess:

RewriteRule ^news/(\d+)$ /news-detail?id=$1 [L]

Но это не работает. Как я могу понять, apache возбуждает начало url как news.php и не позволяет правилу работать. Это выглядит сложно, он не распознает написанное регулярное выражение. Затем я решаю добавить проверку, если файл существует, но он тоже не работает:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

Как я могу справиться с этим? Единственный способ, которым я вижу, это переименовать news.phpnews-all.phpнапример) и добавить одно правило к .htaccess:

RewriteRule ^news$ /news-all [L]
RewriteRule ^news/(\d+)$ /news-detail?id=$1 [L]

Есть ли другой путь?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector