Htaccess通配符子域问题

时间:2011-03-14 13:44:53

标签: .htaccess mod-rewrite wildcard-subdomain

您好我的通配符子域有htaccess和mod_rewrite。

我想将www.domain.com/index.php?foo=x&bar=y翻译为x-y.domain.com

我的htaccess看起来像这样

RewriteCond %{HTTP_HOST} !^www.domain.com$ 

RewriteCond %{HTTP_HOST} ^(.*?)-(.*?).domain.com$

RewriteRule (.*) /index.php?foo=%1&bar=%2

这项工作但有一个小问题,如果我去x-y.domain.com。它显示了www.domain.com,但是如果我去xy.domain.com/z(' z'可以是每个值,甚至' asdfasdfasdfasdfasdf')它显示正确的页面,我的应用程序并没有使用z作为它的任何东西,没有任何理由,但它必须显示正确的页面。

解决方案

RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteCond %{HTTP_HOST} ^(.*?)-(.*?).domain.com$ [NC]
RewriteRule (.*)    index.php?foo=%1&bar=%2 [NC]

我不知道它为什么有效但它有效

0 个答案:

没有答案