加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在Apache2 / Cake PhP中定义文档根目录

发布时间:2021-08-28 03:46:20 所属栏目:大数据 来源: https://www.jb51.cc
导读:我有一个破碎的Cake PHP网站,我没有写,但我负责修复.我有主控制器,但没有css / js / images,当我点击一个链接时,我找不到404.我相信mod_rewrite或apache中的docroot配置有些不对劲. 在阅读Cake文档时,我发现了这个: “应用程序/ Web根目录 在生产设置中,此

我有一个破碎的Cake PHP网站,我没有写,但我负责修复.我有主控制器,但没有css / js / images,当我点击一个链接时,我找不到404.我相信mod_rewrite或apache中的docroot配置有些不对劲.

在阅读Cake文档时,我发现了这个:

“应用程序/ Web根目录
在生产设置中,此文件夹应充当应用程序的文档根目录.这里的文件夹也可以作为CSS样式表,图像和JavaScript文件的保存位置.“

在我的/ etc / apache2 / sites-enabled / this-site中,我看到了这个:

DocumentRoot /u02/data/docroots/this_site
    <Directory /u02/data/docroots/this_site>
            Options -Indexes
            AllowOverride none
            Order deny,allow
            Allow from all
    </Directory> 

所以,我的问题:
以上配置块是否需要:
/ u02 / data / docroots / this_site / app / webroot作为DocumentRoot和?

您可以考虑在其他任何地方寻找故障排除吗?

解决方法:

由于您可以编辑apache配置文件,因此最适合进行标准生产安装.

修复docroot

does the above config block need to have: …/app/webroot as the DocumentRoot

假设路径存在:是的.

这将修复损坏的css / js / images.

修复mod重写

将重写规则放在虚拟主机配置中:

DocumentRoot /u02/data/docroots/this_site/app/webroot
<Directory /u02/data/docroots/this_site/app/webroot>
        Options -Indexes
        AllowOverride none
        Order deny,allow
        Allow from all

        // added
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ index.PHP [L]
</Directory> 

然后,这将把对非任何文件的任何请求路由到应用程序.

验证所使用的重写规则是否与正在使用的CakePHP版本兼容,以上是基于the latest release – it changed over the years的规则,并且使用错误的重写规则可能会产生意外的副作用.

究竟是什么打破了

AllowOverride none

这可以防止apache读取.htaccess文件.如果您要将此更改为AllowOverride all,并假设当前忽略的.htaccess文件存在,则该站点将起作用 – 但作为开发安装.

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读