【发布时间】:2016-06-12 14:38:02
【问题描述】:
我正在尝试在 apache 2.4 驱动的服务器中部署 cakephp 3.1 应用程序。我的老板想将应用程序放在与服务器的 documentroot 不同的目录中(我的 httpd.conf 文件中的DocumentRoot "/var/www/html"),因为该服务器将提供多个 webapps。
他想使用别名(host/app1、host/app2 等)而不是虚拟主机。所以我试图以这种方式配置它。我给我的蛋糕应用程序添加了一个别名(Alias "/scqa" "/opt/scqa/webroot" 在我的 httpd.conf 文件中)并为两个蛋糕的 .htaccess 文件写了一个 RewriteBase(RewriteBase /scqa),但是我的应用程序中存在的每个绝对链接仍然指向 apache 的 documentroot。在这种特殊情况下,这意味着我的 css 和一大堆未正确构建的链接是 404ing。有什么方法可以在 apache 配置中修复它?
我知道其他 2 种修复方法:使用 cake 语法修复链接(需要一周时间)或使用虚拟主机。但是是否可以修复它并继续使用 apache 别名?
提前致谢。
(生产环境使用centos 7 64bits,以防万一)
【问题讨论】:
-
我的老板最终被说服使用虚拟主机。 Cake 的文档明确说它应该是服务器(或虚拟主机)的文档根目录,但我仍然不知道是否可以解决。
-
Bruno,我遇到了一个类似的问题,我最终发现并解决了这个问题。但我的问题是我没有将 RewriteBase 添加到我的 .htaccess 文件中(你有)。尽管如此,我的答案包含了从我最终开始工作时开始使用代码 sn-ps 详细说明的所有语义。您可以在这里查看我的答案以验证您的语义:stackoverflow.com/a/39352928/883354
标签: apache .htaccess cakephp alias virtualhost