Проблема регулярного выражения в htaccess - PullRequest
0 голосов
/ 22 ноября 2010

У меня проблема с регулярным выражением в моем htaccess. Я хочу перенаправить все параметры в $ _GET ['params'], кроме css & js (это папки), но $ _GET ['params'] пуст:

Например, если я наберу: mydomain.com/its/an/example Тогда $ _GET ['params'] = / its / an / example

Но если я наберу: mydomain.com/js/its/an/example Это должно быть прочитано как папка.

Так вот мой код:

RewriteRule /!(css|js)(.*) /index.php?params=$1 [L]

Ответы [ 2 ]

0 голосов
/ 22 ноября 2010

Хорошо, я нашел ... Не нужно ловить, если это папка или нет, я фильтрую это с помощью собственных! -F и! -D:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /index.php?params=$1 [L]

;)

0 голосов
/ 22 ноября 2010

Если вам нужна партия (.*), используйте $ 2

Или я полагаю, вы могли бы использовать (?:css|js), что сделало бы его пассивной группой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...