У меня есть два файла в моем корневом каталоге: 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.php
(в news-all.php
например) и добавить одно правило к .htaccess
:
RewriteRule ^news$ /news-all [L]
RewriteRule ^news/(\d+)$ /news-detail?id=$1 [L]
Есть ли другой путь?
Задача ещё не решена.
Других решений пока нет …