2010-09-29 38 views
1

我有我的cakephp .htaccess文件设置为在cookbook和一切工作正常。cakephp .htaccess与多个域

我的网站目前有多个域名,所有域名都指向同一个网站(例如www.site.com,www.site.co.uk)。我想建立一个规则,以便www.site.co.uk/page的请求是permanently redirected到www.site.com/page等。

我无法使两个规则一起工作。谁能帮我吗?


编辑,包括更多细节:

这里是我的Web根.htaccess文件:

<IfModule mod_rewrite.c> 
    Options +FollowSymlinks 
    RewriteEngine on 

    # Force domain to be www.site.com 
    RewriteCond %{HTTP_HOST} !^www\.site\.com$ 
    RewriteRule ^(.*)$ http://www.site.com/$1 [R=permanent,NC] 

    # For CakePHP 
    RewriteCond %{HTTP_HOST} ^www\.site\.com$ 
    RewriteRule ^(.*)$ app/webroot/$1 [NC] 
</IfModule> 

我也有一个子目录一个单独的CakePHP应用程序:tbgroup。下面是.htaccess文件(tbgroup /的.htaccess):

<IfModule mod_rewrite.c> 
    RewriteEngine on 

    # For CakePHP 
    RewriteRule ^(.*)$ app/webroot/$1 [NC] 
</IfModule> 

一切工作细:www.site.co.uk被重定向到www.site.com,www.site.co.uk/page被重定向到www.site.com/page。 CakePHP工作正常。唯一的问题是www.site.co.uk/tbgroup没有重定向到www.site.com/tbgroup--它仍然是www.site.co.uk/tbgroup(并且CakePHP工作正常)。

如果你喜欢(www.site.com或www.site.co.uk),请在实况网站上试用。

+0

请发布你的htaccess。 – 2010-09-30 02:53:24

+0

我已经包含.htaccess文件并给出了问题的更多详细信息。 – Tomba 2010-09-30 15:05:03

回答

1

我相信你已经指出了你的问题中永久重定向链接的答案。

这跟cakephp真的没有关系。这只是mod重写问题。你有哟把你的.htaccess文件中的代码(在/ app/webroot下)

rewritecond %{http_host} ^(www.)?site.co.uk [nc] 
rewriterule ^(.*)$ http://site.com/$1 [r=301,nc] 
+0

谢谢。这解决了这个问题(我省略了(www。)?因为我更喜欢保持www)。但是,我现在在一个我没有提到的子目录中有一个单独的CakePHP应用程序出现问题。我修改了我的帖子以包含详细信息。 – Tomba 2010-09-30 15:06:17

+1

我认为这个问题是因为tbgroup是一个真实的目录,父目录中的.htaccess没有被使用。 Tro移动#强制域名为www.atdbio.com部分在tbgroup/.htaccess – 2010-09-30 16:00:41

+0

谢谢 - 我似乎已经得到它现在的工作。 – Tomba 2010-09-30 18:59:21