我正在使用Cakephp 2.0,我的网站域名是www.sample.com,如果我尝试访问sample.com(带有www),那么它可以访问www.sample.com,这很好。但我的问题是我的域名包含很多页面 例如:
> 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文件(在app文件夹之前)来重定向
Rewritecond %{http_host} ^sample.com [NC]
Rewriterule ^(.*)$ http://www.sample.com/$1 [R=301,NC]
在webroot文件夹中,我有一个包含以下代码的.htacces文件 可能这就是我认为的问题
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
答案 0 :(得分:3)
您是否尝试永远删除www或始终保持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]
答案 1 :(得分:0)
尝试编写下一条规则:
RewriteCond %{HTTP_HOST} ^sample.com [NC]
RewriteRule ^(.*)$ http://www.sample.com/$1 [L,R=301]