2010-09-29 4 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 и т. Д.

У меня возникли проблемы с тем, чтобы оба правила работали вместе , Может кто-нибудь мне помочь?


EDITED ВКЛЮЧИТЬ Дальнейшие детали:

Вот файл .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, пожалуйста. –

+0

Я включил файлы .htaccess и дал дополнительные сведения о проблеме. – Tomba

ответ

1

Я считаю, что вы указали ответ в ссылке постоянного перенаправления в своем вопросе.

Это действительно не связано с cakephp. Это просто вопрос перезаписи. Вы поставили этот код в свой файл .htaccess (внизу/app/webroot)

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

Спасибо. Это решает проблему (я опустил (www.) », Поскольку я предпочитаю хранить www). Однако у меня теперь есть проблема с отдельным приложением CakePHP в подкаталоге, о котором я не упоминал. Я изменил свой пост, чтобы включить детали. – Tomba

+1

Я думаю, проблема в том, что tbgroup - это реальный каталог, а .htaccess в родительском каталоге не используется. Tro, чтобы переместить # Принудительный домен должен быть частью сайта www.atdbio.com в tbgroup/.htaccess –

+0

Спасибо - мне кажется, сейчас он работает. – Tomba

Смежные вопросы