【问题标题】:CakePHP folders in webroot get redirected to app/webroot/folderwebroot 中的 CakePHP 文件夹被重定向到 app/webroot/folder
【发布时间】:2011-08-29 04:14:52
【问题描述】:

在 CakePHP 中,您可以通过 domain/file

访问 webroot 中的文件

例如,位于 app/webroot/favicon.ico 的 favicon.ico 文件可以从

访问

example.com/favicon.ico

另一方面,目录似乎有一个陷阱。

如果我在 app/webroot/ 中有一个名为 blog 的目录,那么只要我尝试像这样访问它:

example.com/blog/

然后它按预期工作。但是,如果我尝试在没有斜杠的情况下访问它:

example.com/blog

然后它被重定向到:

example.com/app/webroot/blog/

这是不受欢迎的。我宁愿将.com/folder 重定向到.com/folder/ 而不是.com/app/webroot/folder/

有办法设置吗?

【问题讨论】:

    标签: .htaccess cakephp mod-rewrite redirect directory


    【解决方案1】:

    如果你在文档根目录下安装了wordpress blog和cakephp,你需要用下面的脚本替换.htaccess文件脚本:

    RewriteEngine on
    
    RewriteCond %{REQUEST_URI} !^/YOUR_WORDPRESS_DIR.*
    RewriteCond %{REQUEST_URI} !-f
    RewriteRule ^$ app/webroot/ [L]
    
    RewriteCond %{REQUEST_URI} !^/YOUR_WORDPRESS_DIR.*
    RewriteCond %{REQUEST_URI} !-d
    RewriteRule (.*) app/webroot/$1 [L]
    

    【讨论】:

    • 我正在使用 cakephp 2.3.x,它对我来说工作正常。谢谢。
    【解决方案2】:

    你可以试试here的说明

    【讨论】:

      【解决方案3】:

      如何使用Router::Connect 让博客直接重定向到好页面?当然,这不是一个自动的例程,但它可能会对您有所帮助。

      更多信息:http://book.cakephp.org/view/945/Routes-Configuration

      我想配置核心文件中可能有一个参数,你已经看过了吗?

      【讨论】:

      • 我所指的文件夹不是蛋糕框架的一部分,例如 WordPress 博客。这就是为什么他们首先在 webroot 中。所以我认为我不想使用蛋糕框架的一部分Router:Connect 来处理这个问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多