我只想问一个关于.htaccess的快速问题。
以下是我的网站主机如何使用子域名...
一旦我创建了一个子域...然后他们就像这样在根文件夹中创建一个文件夹......
www.mydomain.com ---> public_html
sub.mydomain.com ---> public_html/sub
我想要做的是......将所有来自sub.mydomain.com的请求重定向到www.mydomain.com并使用一些GET变量或某些东西来识别请求来自哪个子域......
所以例如......当我收到像这样的工作请求时
http://sub.mydomain.com/myphp.php ---> http://www.mydomain.com/myphp.php?comingfrom=sub
http://sub.mydomain.com/(anyUrl) ---> http://www.mydomain.com/(anyUrl)?comingfrom=sub
我也想知道这是否会执行主域中存在的一些.htaccess重定向...
希望你们能帮帮我......
提前致谢...
答案 0 :(得分:1)
将带有以下内容的.htaccess放入子域文件夹中:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.*)\.mydomain\.com$ [NC]
RewriteRule ^(.*) http://www.mydomain.com$1?comingfrom=%1 [QSA,R=301,L]
(未经测试,抱歉)
修改强>
您指出您希望将子域保留在地址栏中,并且不希望重定向。因此,您需要对您的<VirtualHost>
www.mydomain.com进行视图更改
<VirtualHost ...:80>
ServerName www.mydomain.com
ServerAlias mydomain.com
ServerAlias sub.mydomain.com
DocumentRoot /path/to/your/docroot/of/www.mydomain.com
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.mydomain\.com [NC]
RewriteCond %{HTTP_HOST} ^(.*)\.mydomain\.com$ [NC]
RewriteRule ^(.*) $1?comingfrom=%1 [QSA,PT,L]
</VirtualHost>