2012-11-08 60 views
4

我使用的是CakePHP 2.0,我的網站域名是www.sample.com,如果我嘗試訪問sample.com(不帶www),那麼它將訪問www.sample.com這可以。但我的問題是我的域名由大量的例如 頁:在Cakephp 2.0中使用.htaccess的URL重定向

> http://www.sample.com/users/login 
> http://www.sample.com/users/add 

如果我訪問諸如http://sample.com/users/login上面的網址,然後將其重定向到

> http://www.sample.com/index.php?url=users/login 

,但它需要重定向到

http://www.sample.com/users/login 

我已經編寫了下面的代碼.htaccess文件(在應用程序文件夾之前)重定向

Rewritecond %{http_host} ^sample.com [NC] 
Rewriterule ^(.*)$ http://www.sample.com/$1 [R=301,NC] 

根目錄文件夾裏面我有一個包含下面的代碼 可能是一個.htacces文件,這是問題,我認爲

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

回答

3

你們是不是要經常清除WWW或始終保持萬維網?這將增加它:

## Add www 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteCond %{HTTPS}s ^on(s)| 
RewriteRule^http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

## CakePHP 
RewriteRule ^$ app/webroot/ [L] 
RewriteRule (.*) app/webroot/$1 [L] 
+0

我需要萬維網..如果他們不把www還它需要去www.sample.com – AnNaMaLaI

+0

更新我的代碼。 – 472084

0

嘗試編寫下一條規則:

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

上的應用程序/ Web根目錄/ .htaccess文件,而不是應用程序的文件夾中的.htaccess。它對我來說非常合適。