带有子域的mod_rewrite没有正确捕获模式

时间:2012-07-08 23:14:27

标签: apache mod-rewrite

我有一个外卡虚拟主机,我符合以下条件:

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/在第二条规则上失败(即修改后的第一条规则,只有一条规则)

1 个答案:

答案 0 :(得分:0)

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