将域重定向到主域上的路径

时间:2013-02-06 11:59:39

标签: php .htaccess

我有一些域名:

  • http://domainmain.com
  • http://domainone.com
  • http://domaintwo.com

我的辅助域目前在主域下托管。没有子目录,没有其他路径。因此,每个域都会获得http://domainmain.com

的内容

为了更好地理解:这些文件指向同一个文件:http://domainmain.com/index.phphttp://domainone.com/index.phphttp://domaintwo.com/index.php

对于每个域,我都有一个位于http://domainmain.com的文件夹:

domainname       folder / path
--------------   -----------
domainmain.com   /
domainone.com    /domainone
domaintwo.com    /domaintwo

我的目标是将每个域重定向到相应的目录/路径http://domainone.com

例如:http://domainone.com必须显示路径/domainone的内容。访问者必须看http://domainone.com。这也应该有效:http://domaintwo.com/images显示http://domainmain.com/images


我在.htaccess文件中开始使用的一些代码:

RewriteCond %{HTTP_HOST} domainone.com [NC]
RewriteCond %{REQUEST_URI} !^/domainone
RewriteRule ^(.*)$ /domainone/$1 [NC,L]

还有一些PHP(但我想使用重定向而不是file_get_contents()

if ($_SERVER['SERVER_NAME'] == 'domaintwo.com') {
    echo file_get_contents('http://domainmain.com/domaintwo');
    die();
}

注意:.htaccess只能有http://domainmain.com个文件。我的服务器运行PHP5。

2 个答案:

答案 0 :(得分:1)

您的问题与网站管理员部分提出的问题非常相似;

How to redirect different domains to separate subdirectories.

答案 1 :(得分:0)

通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在.htaccess目录下的DOCUMENT_ROOT中:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^(domainone)\.com$ [NC]
RewriteRule (?!^domainone(/.*|)$)^.*$ /%1%{REQUEST_URI} [NC,L]

RewriteCond %{HTTP_HOST} ^(domaintwo)\.com$ [NC]
RewriteRule (?!^domaintwo(/.*|)$)^.*$ /%1%{REQUEST_URI} [NC,L]