Работал над этим в течение нескольких дней, но я не могу понять это.
У меня два файла в директории:
Ниже я застрял в первом правиле файла index.php в файле.htaccess. (Пробовал много вещей, включительно и файлы все в порядке, но правила htaccess, которые у меня здесь, не передаются index.php. Файл статьи также загружается отлично. За исключением случаев применения этих двух строк ниже.)
ссылка:
domain.com/news/index/66/bass (works)
Определяется:
RewriteRule ^/?news/[\w-]+/([\w-]+)/([\w-]+)/?$ /news/index.php?news_id=$1&page_id=$1 [QSA,NC]
Затем, на этой странице, нажмите:
domain.com/news/article/66-17506/SEO-FRIENDLY-TITLE
Определяется:
RewriteRule ^/?news/[\w-]+/([\w-]+)/([\w-]+)/?$ /news/article.php?news_id=$1&page_id=$1 [QSA,NC]
И там я застрял в предыдущем определении index.php. Я уже удалил значение [L] и пробовал много вещей. Я предполагаю, что все, что нужно, это загрузить article.php.
Любая помощь спасет много статей в Интернете!
Проблема заключается в том, что оба ваших регулярных выражения для соответствия URL-адреса одинаковы. Итак, все, что может соответствовать правилу article.php, уже будет захвачено правилом index.php. Можете ли вы изменить два правила:
RewriteRule ^/?news/index/([\w-]+)/([\w-]+)/?$ /news/index.php?news_id=$1&page_id=$1 [QSA,NC]
RewriteRule ^/?news/article/([\w-]+)/([\w-]+)/?$ /news/article.php?news_id=$1&page_id=$1 [QSA,NC]