Contao:Multisite&多个域名

时间:2011-11-17 11:54:43

标签: .htaccess mod-rewrite dns contao

我正在使用Contao(TypoLight)。

我们在同一个Contao安装上有几个站点。 这也意味着它是相同的根文件夹。 每个站点都有自己的入口点,至少它应该有。

现在让我们假设我有Site A(www.sitea.com)和Site B(www.siteb.com)。

网站A需要通过www.sitea.com访问

站点B需要通过www.siteb.com访问

现在根据手册,每个站点配置都应在入口点中输入自己的域名。我已经这样做了,但现在www.siteb.com正在重定向到www.sitea.com。

有谁知道为什么会发生这种情况? 或者我是否需要等待任何DNS更新? 或者我是否需要在.htaccess中指定任何重写规则?

干杯!

2 个答案:

答案 0 :(得分:1)

对于您网站结构中的每个入口点,请在不使用" www"

的情况下配置域名
  • 对于sitea.com: sitea.com
  • 对于siteb.com: siteb.com

dns-settings in site struct

在您的webroot中创建一个htaccess(.h​​taccess文件),并将主机配置为从www.site [a,b] .com重定向到http://site[a,b].com

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

现在可以正确路由。

答案 1 :(得分:0)

答案可能与htaccess或其他任何内容无关。它可能与vhosts有关。 以下是您可能已经完成的操作,如果没有,这可以解释为什么您的配置不起作用:

在httpd.conf文件中,有时您会包含一个vhosts目录。

如果没有,这就是我的工作:我设置Apache以便它读取特定目录中的所有vhost(它几乎位于httpd.conf文件的末尾,因此默认指令在之前应用 / em>包括vhosts):

# Include Virtualhosts directory:
NameVirtualhost *
Include /web/vhosts/

然后在目录中,我设置了所有的vhost:

olivier@Tt /web/vhosts # find . | sort
./labyz.vhost.conf
./olivierpons.vhost.conf
./wipwip.vhost.conf
./wogwog.vhost.conf
olivier@Tt /web/vhosts # 

然后对于每个vhost我精确自己的指令。示例(将所有内容重定向到http://disneyland.fr/):

<VirtualHost *>

    ServerAdmin webmaster@olivierpons.fr
    DocumentRoot "/web/htdocs/olivierpons/prod"

    ServerName olivierpons.fr
    ServerAlias *.olivierpons.fr
    ErrorLog "/web/logs/olivierpons.error.log"
    CustomLog "|/opt/httpd/bin/rotatelogs /web/logs/olivierpons.fr/access.%Y-%m-%d-%H_%M_%S.log 5M" combined

    RewriteEngine On
    RewriteRule (.*) http://disneyland.com$1 [QSA,R=301,L]
</VirtualHost>

注意:在您的情况下,vhost文件sitea.com.vhost.confsiteb.com.vhost.conf具有相同的DocumentRoot

你这样做过吗?