Как создать регулярное выражение для отрицания строки, но включить что-нибудь еще - PullRequest
0 голосов
/ 05 августа 2010

Я пытаюсь создать регулярное выражение для apache, которое будет игнорировать определенные строки, но будет использовать что-нибудь еще. Я пробовал много разных методов, но я не могу понять, как это правильно.

например

я хочу игнорировать

ignore.mysite.com

но все остальное, что я хочу использовать

*. Mysite.com

Ответы [ 2 ]

1 голос
/ 07 августа 2010

Если вы хотите, чтобы регулярное выражение соответствовало whatever.mysite.com, где whatever - любое возможное имя хоста, но вы хотите, чтобы регулярное выражение не совпадало с ignore.mysite.com, попробуйте следующее:

^(?!ignore)[a-z0-9-]+\.mysite\.com

Хитрость в том, чтобы использовать отрицательный взгляд .

0 голосов
/ 05 августа 2010

Если вы хотите использовать эти регулярные выражения для mod_rewrite, вы можете использовать RewriteCond с отрицанием, вот так:

   RewriteCond %{REMOTE_HOST}  !^ignore.example.com$
   RewriteRule ....

Вы можете найти больше, конечно, в документации.

...