将同一主机上的2个域指向不同的文件

时间:2014-05-18 16:30:16

标签: apache .htaccess mod-rewrite

我遇到.htaccess问题。

我在一个网站空间中有3个域,所有域都指向相同的内容:(www.domain1.com,www.domain2.com,www.domain3.com)。

现在我只想从www.domain1.com开始使用我的WordPress网站(index.PHP),其他两个域应该以index.HTM开头,但我不想创建子文件夹,因为所有域可以访问根目录中相同的.htm-Files - 只有启动文件(index.php / index.htm)应该不同。是否有可能实现这一点,例如在htaccess中使用mod_rewrite?我尝试过但失败了。

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.domain1.com

RewriteRule  ^/$ /index.php [L]

RewriteCond %{HTTP_HOST} ^www.domain2.com

RewriteRule  ^/$ /index.htm [L]

RewriteCond %{HTTP_HOST} ^www.domain3.com

RewriteRule  ^/$ /index.htm [L]

1 个答案:

答案 0 :(得分:0)

我设法使用PHP而不是.htaccess找到问题的解决方案。这不是最好的解决方案,但它解决了我的问题:

  switch ($_SERVER ["HTTP_HOST"]) {
    case "www.domain1.com":
        if ($_SERVER['SCRIPT_URL'] == '/') {
            header("Location: http://www.domain1.com/index.php");
        } else {
            header("Location: {$_SERVER['SCRIPT_URL']}");
        }

        break;
    case "www.domain2.com":
        if ($_SERVER['SCRIPT_URL'] == '/') {
            header("Location: http://www.domain2.com/index.htm");
        } else {
            header("Location: {$_SERVER['SCRIPT_URL']}");
        }

        break;
    case "www.domain3.com":
        if ($_SERVER['SCRIPT_URL'] == '/') {
            header("Location: http://www.domain3.com/index.htm");
        } else {
            header("Location: {$_SERVER['SCRIPT_URL']}");
        }

}