Перенаправлять запросы

#regex #apache #mod-rewrite

#регулярное выражение #apache #мод-перезапись

Вопрос:

Я использую это правило

 ^(?!webmaster)[w/d_-:;?=.] $
  

для соответствия всем запросам, которые отличаются от веб-мастера.
Как сопоставить запросы, которые отличаются от запросов веб-мастера ИЛИ some_other_dir?

?

Ответ №1:

Попробуйте

 ^(?!(?:webmaster|SomeOtherDir))[w/d_-:;?=.] $
  

(?:webmaster|SomeOtherDir) Это группа, не подлежащая захвату, а | это «ИЛИ»

Вы также можете упростить свою группу символов, внутри группы символов большинство символов не нужно экранировать, - должно быть в начале или в конце (или нуждается в экранировании), иначе это определяет диапазон символов, поэтому я переместил его в конец. _ Включено в w , поэтому его не нужно указывать. (Я не уверен насчет / , поэтому оставляю все как есть)

 ^(?!(?:webmaster|SomeOtherDir))[w/d:;?=.-] $