перенаправить все не www на www. для сайта Cakephp - PullRequest
0 голосов
/ 18 октября 2011

Привет, у меня возникли проблемы с перенаправлением не www-страниц на www. страницы для моего сайта CakePHP.

Я пробовал

Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^domain.com [nc]
rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]

но, похоже, не работает.

Мое приложение cakephp находится в подпапке. например. www.domain.com/my.

Я добавил вышеуказанный код в корневую папку, www.domain.com/

есть предложения? спасибо

* обновление

Это мой файл .htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>

RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^.*$ http://www.domain.com%{REQUEST_URI} [R=301,L]

Я получаю дополнительные webroot/index.php?url=, вставленные в URL. Вместо www.domain.com/my/apple я получаю www.domain.com/my/webroot/index.php?url=apple

еще раз спасибо всем.

Ответы [ 4 ]

5 голосов
/ 18 октября 2011

Ваш код не совсем правильный.Смотри ниже.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^.*$ http://www.domain.com%{REQUEST_URI} [R=301,L] # <-- Mind the 'L'!

RewriteRule ^$ webroot/    [L]
RewriteRule (.*) webroot/$1 [L]
2 голосов
/ 08 марта 2014

, если домен .co.uk

<IfModule mod_rewrite.c> 
   RewriteEngine On
   RewriteCond %{HTTP_HOST} ^domain\.co\.uk$ [NC] 
   RewriteRule ^.*$ http://www.domain.co.uk%{REQUEST_URI} [R=301,L]

   RewriteRule ^$ app/webroot/    [L]
   RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
1 голос
/ 26 августа 2014

RewriteEngine On

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

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app/webroot/$1 [QSA,L]

0 голосов
/ 05 июня 2019

Я попробовал приведенный ниже код, и он работал для меня:

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteCond %{HTTP_HOST} ^gigsadda\.com$ [NC]
   RewriteRule ^.*$ http://www.gigsadda.com%{REQUEST_URI} [R=301,L] 
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...