簡體   English   中英

將所有非www重定向到www。 用於Cakephp網站

[英]redirect all non www to www. for Cakephp site

大家好,我在將非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=插入了額外的webroot/index.php?url= 而不是www.domain.com/my/apple ,我得到的是www.domain.com/my/webroot/index.php?url=apple

再次感謝所有人。

您的代碼不太正確。 見下文。

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]

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

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]

我嘗試了下面的以下代碼,它為我工作:

<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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM