2011-05-04 46 views
2

工作,我在这里看到了很多关于它的问题上如此,所以我在这里发帖:的.htaccess - 子域名不能以www

我有一个域www.example.com和我已经设置.htaccess文件将所有example.com重定向到www.example.com

现在,我(通过我的plesk 10界面)创建了一个子域abc.example.com,我想要的也是www.abc.example.com所以我进入(也在plesk):

www.abc.example.com. CNAME abc.example.com. 

但它不工作。我需要重新加载/重新启动DNS吗?(如果是这样,请告诉我如何?)或者我只需要等待一段时间,直到它传播?

因为我提到的CNAME没有工作,我还添加了在ABC文件夹,看起来像这样的的.htaccess(这可能是错误的(我知道,没有太大的服务器人的:()):

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^abc.example.com$ 
RewriteRule ^(.*)$ http://abc.example.com/$1 [R=301] 

,但没有运气,所以请一些启发

回答

1

这到底是为我工作的解决方案:

在Plesk中我做了一个subdomain.domain.com指向可以说ABC文件夹,然后我增加了www.subdomain.domain.com也通过Plesk但指向相同的 abc文件夹。然后,我在这个abc文件夹(这个子域名的所有其他文件所在的位置)中添加了.htaccess文件,现在可以保证所有到subdomain.domain.com的请求都被重定向到www.subdomain.domain.com。这里是我的.htaccess文件:

RewriteEngine On  
RewriteCond %{HTTP_HOST} !^www.subdomain.domain.com$ [NC]  
RewriteRule ^(.*)$ http://www.subdomain.domain.com/$1 [R=301,L] 

希望这会帮助像我这样的人开始的人。

只是要注意,对于同一个文件夹内pointingthe www.subdomain的想法归功于用户布赖恩·怀特在serverfault

0

的.htaccess应该是这样的:

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^abc\.example\.com$ [NC] 
RewriteCond %{SERVER_PORT} =80 
RewriteRule ^(.*)$ http://abc.example.com/$1 [R=301,L] 

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^abc\.example\.com$ [NC] 
RewriteCond %{SERVER_PORT} =443 
RewriteRule ^(.*)$ https://abc.example.com/$1 [R=301,L] 

然而DNS条目代表abc.example.comwww.abc.example.com可能尚未传播。在测试之前,您需要给它一些时间(可能有几个小时)。

您可以使用nslookup on Windows*nix来检查您的域名何时可用。

+0

奇怪的DNS为ABC传播瞬间,不知道为什么会这样以www。嗯,我可能会错过这里的东西,导致你的重写没有帮助。新东西是,我现在正在获得plesk默认页面,但是:?我不知道它从哪里拉出来,因为我的服务器上没有看到任何标有www.abc的文件夹:/ – Nikola 2011-05-04 17:03:15

+0

可能是您之后添加了CNAME条目,因此可能需要一些时间才能传播。 – anubhava 2011-05-04 17:18:12

+0

是的,但事实是我不知道为什么会出现一个plesk默认页面,以及如何更改它。 – Nikola 2011-05-04 17:31:12