【发布时间】:2011-03-25 11:22:19
【问题描述】:
我正在尝试为 apache 创建一个正则表达式,它会忽略某些字符串,但会使用其他任何字符串。我尝试了许多不同的方法,但我似乎无法正确。
例如
我希望它忽略
ignore.mysite.com
但我想让它使用其他任何东西
*.mysite.com
【问题讨论】:
标签: regex apache .htaccess virtualhost
我正在尝试为 apache 创建一个正则表达式,它会忽略某些字符串,但会使用其他任何字符串。我尝试了许多不同的方法,但我似乎无法正确。
例如
我希望它忽略
ignore.mysite.com
但我想让它使用其他任何东西
*.mysite.com
【问题讨论】:
标签: regex apache .htaccess virtualhost
如果你想要这个 mod_rewrite 的正则表达式,你可以使用带有否定的RewriteCond,就像这样:
RewriteCond %{REMOTE_HOST} !^ignore.example.com$
RewriteRule ....
当然,您可以在文档中找到更多信息。
【讨论】:
如果您想要一个匹配whatever.mysite.com 的正则表达式,其中whatever 是任何可能的主机名,但您希望正则表达式不匹配ignore.mysite.com,那么试试这个:
^(?!ignore)[a-z0-9-]+\.mysite\.com
诀窍是使用negative lookahead。
【讨论】: