我有一个外卡虚拟主机,我符合以下条件:
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/在第二条规则上失败(即修改后的第一条规则,只有一条规则)
答案 0 :(得分:0)
您的第二条规则不包括前导斜杠。假设您的规则在vhost上下文中,则需要该部分。具体而言,^([\w\-]+)
与/anything
不匹配。这将:^/([\w\-]+)
。