Переписать правило для конкретного имени / значения, чтобы иметь приоритет над другими
У меня есть два правила переписывания:
RewriteRule ^([^/]+)/([^/]+)/?$ /?action=viewCategoryName&categoryName=$1&page_identifier=$2 [L,QSA,B]
а также
RewriteRule ^([^/]+)/?$ /?action=viewHomepageName&page_identifier=$1 [L,QSA,B]
Я хотел бы создать новое правило для переписывания:
/?action=archive&categoryId=$1
в
/archive/news
Где "новости" - это идентификатор категории или $1.
С двумя правилами, упомянутыми выше, возможно ли это? Я хотел бы представить, что мне нужно поместить его выше других правил и указать, если example.com/archive/ переписать, а затем остановить перезапись.
1 ответ
Решение
Вы можете иметь свои правила, как это в корне.htaccess
RewriteEngine On
# don't process further rules for real files and directories
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^(archive)/([^/]+)/?$ /?action=$1&categoryId=$2 [L,QSA,NC]
RewriteRule ^([^/]+)/([^/]+)/?$ /?action=viewCategoryName&categoryName=$1&page_identifier=$2 [L,QSA,B]
RewriteRule ^([^/]+)/?$ /?action=viewHomepageName&page_identifier=$1 [L,QSA,B]