您好我的通配符子域有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]
我不知道它为什么有效但它有效