创建子域以转发到其他域上的子文件夹

时间:2013-06-01 06:05:58

标签: .htaccess dns subdomain cname

我已经阅读过这方面的一些内容但无法明确(或工作):

我有一个域名(称为domain1.co.uk)在namesco注册,但指向其他地方的网络托管 - 名称服务器设置为托管公司的名称。

通过托管公司,我在public_html下的文件夹中有许多不同的网站。

我还有另一个域名(称为domain2.co.uk),也是由namesco注册的,重定向到上面提到的一个网站(即www.domain2.co.uk转发到www.domain1.co.uk/thisparticularwebsite /home.php)。

我想要做的是在domain2(sub.domain2.co.uk)上获取一个子域,以引用此特定网站中的特定php脚本(即www.domain1.co.uk/thisparticularwebsite/sub.php)。

namesco告诉我,我可以通过创建A记录或CNAME记录来完成此操作,但它只能引用顶级域(domain1的public_html),而不是子目录或脚本。

我认为需要做的是在domain1.co.uk的根目录中使用.htaccess,如下所示

RewriteEngine on
RewriteCond %{HTTP_HOST} ^sub\.domain2\.co\.uk [NC]
RewriteRule ^.*$ http://www.domain1.co.uk/thisparticularwebsite/sub.php [R-301]

或可能

....
RewriteRule ^.*$ /thisparticularwebsite/sub.php [R-301]

然后在domain2上为sub创建一个CNAME记录(即sub>>> domain1.co.uk)。

这是对的吗?(它似乎无法正常工作,但由于DNS更新可能还没有完全传播,因此目前还不清楚是什么。)

有一点我不确定在HTTP_HOST中实际应该出现的是 - 它是由原始客户端输入的字符串,还是由CNAME记录沿途修改?

1 个答案:

答案 0 :(得分:1)

.htaccess代码应该是

RewriteEngine on
RewriteCond %{HTTP_HOST} ^sub\.domain2\.co\.uk$ [NC]
RewriteRule ^.*$ http://www.domain1.co.uk/thisparticularwebsite/sub.php [L,R=301]