Мод переписать правило не соответствует определенным словам - PullRequest
1 голос
/ 24 марта 2012

Я совсем не эксперт по mod_rewrite и пытаюсь добавить условие к правилу ниже:

  1. совпадение, которое не равно 'share'
  2. не соответствует ничему с точкой в ​​нем

RewriteRule ^([^/]*)$ http://domain.com/directory/index.php?key=$1 [L]

http://domain.com/directory/share не будет сопоставлено (доля)

http://domain.com/directory/foo.php не будет сопоставлено(содержит точку)

http://domain.com/directory/abcde будет сопоставлено

http://domain.com/directory/abcde-4 будет сопоставлено

Все ULR не будут иметь косую черту

Anyпомощь будет высоко ценится

1 Ответ

1 голос
/ 24 марта 2012

Ничего не сопоставляйте с точкой, добавив . к классу отрицанных символов:

RewriteRule ^([^./]*)$ <snip>

Не соответствует окончанию /share:

RewriteRule ^([^/]*/share)$ <snip>

Объедините их, чтобы они не совпадали, используя отрицательный прогноз :

RewriteRule ^([^./])*(?!/share)$ <snip>
...