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

发布于 2024-12-06 19:56:55 字数 853 浏览 2 评论 0原文

所以

我试图将任何访问 http://domain.com 的用户重定向到 http://www.domain.com。我已经找到了很多不同的方法来做到这一点,但我需要使它们适合 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>

Gurus of So

I am trying to redirect any user that comes to http://domain.com to http://www.domain.com. I have found a bunch of different ways to do that on SO, but I need to make them fit the dynamic app config from CakePHP.

Currently, this is what my .htaccess reads:

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

I am running Ubuntu 10.04 on a Slicehost slice.

Any help is super appreciated. Thank you.

UPDATE - SOLUTION - Thanks to 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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

独木成林 2024-12-13 19:56:55

来自我自己的应用程序之一:

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

From one of my own apps:

<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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文