Mod Rewrite Regex - соответствует URL, содержащий A, но не B - PullRequest
0 голосов
/ 05 июля 2011

Я пытаюсь отправить запрашиваемую страницу через фронт-контроллер.

Мне нужно найти следующие URL-адреса

domain.com/admin/
domain.com/admin/somepage

но у меня также есть некоторые активы в подпапке / admin, которые я НЕ хочу сопоставлять

domain.com/assets
domain.com/assets/mything.css
domain.com/assets/mything.css
domain.com/xml/myxml.xml

Я написал следующее правило (внутри .htaccess в корне сайта, и оно работает для всех 5 примеров URL. Как получить его ТОЛЬКО для совпадения с двумя верхними?)

RewriteBase / 
# index.php is the front controller
RewriteRule ^(admin) admin/index.php [L,QSA] 

Есть два способа сделать это (я хотел бы знать, как это сделать, используя папку 'assets' и 'xml' как исключение И, устанавливая расширения)

1 Ответ

1 голос
/ 05 июля 2011

Я бы использовал отрицательный RewriteCond перед окончательным правилом маршрутизации по этим строкам:

RewriteCond %{REQUEST_URI} !assets 
...