如何为子页面提供自己的域名?

时间:2015-04-28 20:59:26

标签: .htaccess dns subdomain hosting

我有一个Joomla网站symptom_id

我希望子网页mysite.com的行为类似于使用单独域名mysite.com/example的单独网站。

可以使用域名和htaccess上的DNS设置来实现吗?

在cloudaccess.net上托管网站,但希望此解决方案适用于单页网站和目标网页,而无需使用其他主机帐户/ joomla实例。

感谢。

1 个答案:

答案 0 :(得分:0)

如果您的托管服务提供商允许您拥有"别名"域,您可以将新域指向现有代码,并使用RewriteCond检测主机名:

  1. 首先配置新域以显示与现有域相同的所有内容。
  2. 在Apache配置中(可能是共享主机上的.htaccess)添加一条规则,用于检测对新域的请求,并且"重写"他们改为为您的特定页面服务:

    RewriteCond %{HTTP_HOST} landingpage.example.com
    RewriteRule ^/$ /url/for/my/landing/page
    
  3. 之后添加其他规则 ,以便该域上的其他网址将浏览器重定向回主网站

    RewriteCond %{HTTP_HOST} landingpage.example.com
    RewriteRule ^/([^/].*)$ http://realsite.example.com/$1 [R=permanent,L]
    
  4. 通过组合这两个规则,可以将第二个域上的所有内容映射到第一个域中的目录(或者更确切地说是URL前缀):

    RewriteCond %{HTTP_HOST} subsite.example.com
    RewriteRule ^/(.*)$ /url/for/my/subsite/$1 [L]
    

    注意:如果Joomla认为它知道"正确"该网页的网址可能会尝试从您的新域重定向。如果是这样,那就是新问题的主题。

    另一方面,如果您想使用Apache配置强制用户访问http://realsite.example.com/url/for/my/landing/page重定向到http://landingpage.example.com/,您可以添加以下内容:

    RewriteRule ^/url/for/my/landing/page$ http://landingpage.example.com/ [L,R=permanent]
    

    注意:根据我不完全了解的某些环境设置,您可能需要在上述模式中将^/更改为^