Htaccess帮助 - 动态子域

时间:2011-06-10 19:31:46

标签: html .htaccess dns subdomain

我已经搜索了很多,并尝试了很多我在网上找到的东西,但注意到了我的作用。


当用户访问此页面时,我如何制作:

http://subdomain.domain.com/

它向他显示此页面(不是重定向):

http://www.domain.com/?x=subdomain

当用户访问此页面时:

http://subdomain.domain.com/number/

它向他显示此页面(不是重定向):

http://www.domain.com/?x=subdomain&y=number

当用户访问此页面时:

http://subdomain.domain.com/string/number/

它向他显示此页面(不是重定向):

http://www.domain.com/?x=subdomain&z=string&y=number

此外,子域值更改和数值更改

更多信息:Apache / 2.2.16(Unix)mod_ssl / 2.2.16 OpenSSL / 0.9.8e-fips-rhel5 mod_auth_passthrough / 2.1 mod_bwlimited / 1.4 FrontPage / 5.0.2.2635


如果可以,请解释一下代码......


谢谢:)

1 个答案:

答案 0 :(得分:0)

这看起来很像代码请求,而不是问题,但我今天感觉很好。所以,你有它。

RewriteEngine On
RewriteRule ^index2\.php - [L]
RewriteCond %{HTTP_HOST} !^$ [NC]
RewriteCond %{HTTP_HOST} !^(www\.)example\.com [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^.]+)\.example.com [NC]
RewriteRule ^([^/]+/)?([^/]+/)? index2.php?x=%2&y$1&z=$2 [L,QSA]

需要index2.php,因为重写会被卡在循环中(否则你可以在其中包含index.php,因此不需要复制代码)。这就是第2行的用途。如果它检测到重写已经完成,它将停在那里。第3行确保主域上不会发生重写。第4行使用子域名部分(www。可选)并将其放在%2中。第5行选择可选的第一个和第二个文件夹,并使用这些与子域名相结合来创建您期望的URL。请注意,'/'包含在y和z中,因为否则规则将需要很多括号才能轻松理解。