0

我有一个符合以下条件的通配符虚拟主机:

RewriteCond %{HTTP_HOST} ^([a-z0-9_\-]+)\.([\d]+)\.mydomain\.com [NC]

此规则有效:

RewriteRule ^/?$       /index.php?customer=%1&cluster=%2&%{QUERY_STRING} [L]

但是,如果我尝试使模式复杂化:

RewriteRule ^([\w\-]+)/?$ /index.php?customer=%1&cluster=%2&load=$1&%{QUERY_STRING} [L]

它没有抓住它。我错过了什么?

使用上述规则: http://dev.0.mydomain.com:8080/适用于第一条规则 http://dev.0.mydomain.com:8080/x/在第二条规则上失败(即修改第一条规则,只有一条规则)

4

1 回答 1

0

您的第二条规则不包括前导斜杠。假设您的规则在虚拟主机上下文中,则需要该部分。具体来说,^([\w\-]+)不匹配/anything。这将:^/([\w\-]+).

于 2012-07-08T23:20:09.890 回答