2011-10-18 115 views
0
ALLM

嗨,我有在重定向非WWW網頁的WWW的一些問題。我的cakephp網站的頁面。將所有非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=。取而代之的www.domain.com/my/apple,我再次得到www.domain.com/my/webroot/index.php?url=apple

感謝所有。

回答

5

您的代碼是不完全正確。見下文。

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] 
+0

謝謝!但仍然存在問題。該網址正在重定向,但我在網址中插入了額外的「webroot/index.php?url =」。相反www.domain.com/my/apple的,我讓我www.domain.com/my/webroot/index.php?url=apple – mobz

+0

我意識到還有的「重寫規則^默認的行(。*)$指數.php?url = $ 1 [QSA,L]「在文件的.htacess中。由於頁面會顯示錯誤,因此我無法刪除該行。 – mobz

+0

只是把默認的規則蛋糕然後在(我更新我的回答顯示結果) – wrdevos

2

如果域名.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> 
0

RewriteEngine敘述在

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]