【问题标题】:Run cakephp app in apache alias在 apache 别名中运行 cakephp 应用程序
【发布时间】: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


【解决方案1】:

如果我理解得很好,您在 .htaccess 文件中使用了别名。 您应该将Alias 放在您的服务器配置文件中,否则它将无法正常工作。

语法:别名 [URL-path] 文件路径|目录路径

上下文:服务器配置、虚拟主机、目录

来自https://httpd.apache.org/docs/current/mod/mod_alias.html

【讨论】:

  • 对不起,如果我给了我这样的印象。别名和文档根在我的/etc/httpd/conf/httpd.conf 中设置。 rewritebase 写在我的 .htaccess 文件中。 =D
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多