使用app / webroot将非www重定向到CakePHP中的www

时间:2011-09-24 13:42:51

标签: apache .htaccess cakephp redirect ubuntu

如此的大师

我正在尝试将任何来到http://domain.com的用户重定向到http://www.domain.com。我在SO上找到了一些不同的方法,但我需要让它们适合CakePHP的动态应用程序配置。

目前,这是我的.htaccess所读的内容:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^$ app/webroot [L]
    RewriteRule (.*) app/webroot [L]
</IfModule>

我在Slicehost切片上运行Ubuntu 10.04。

任何帮助都非常感激。谢谢。

更新 - 解决方案 - 感谢Rob Wilkerson

<IfModule mod_rewrite.c>
    RewriteEngine On

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

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

1 个答案:

答案 0 :(得分:5)

来自我自己的一个应用:

<IfModule mod_rewrite.c>
  RewriteEngine On

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

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