【问题标题】:create subdomain to forward to sub-folder on a different domain创建子域以转发到不同域上的子文件夹
【发布时间】:2013-05-28 00:07:59
【问题描述】:

我已经阅读了一些关于此的内容,但无法弄清楚(或无法工作):

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

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

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

我想要做的是在 domain2 (sub.domain2.co.uk) 上获得一个子域,以引用这个特定网站 (即 www.domain1.co.uk/thisparticularwebsite/sub.php) 中的特定 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(即 sub >> domain1.co.uk)创建一个 CNAME 记录。

是这样吗?(它似乎不起作用,虽然目前还不清楚发生了什么,因为 DNS 更新可能尚未完全传播)。

我不确定 HTTP_HOST 中是否应该实际出现的一件事 - 是原始客户端输入的字符串,还是在过程中被 CNAME 记录修改?

【问题讨论】:

标签: .htaccess dns subdomain cname


【解决方案1】:

.htaccess 代码应该是

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

【讨论】:

  • 谢谢,我已经尝试过 RewriteCond 末尾的 $ - 没有效果,但是 L 在 RewriteRule 中做了什么?
  • L 表示最后一个。顺便说一句,你使用了R-301,应该是R=301
猜你喜欢
  • 2018-07-16
  • 1970-01-01
  • 1970-01-01
  • 2013-04-08
  • 1970-01-01
  • 1970-01-01
  • 2012-05-14
  • 2011-11-16
  • 2017-07-04
相关资源
最近更新 更多