【发布时间】:2014-07-17 17:03:42
【问题描述】:
我最初在 IIS 上开发了我的应用程序,现在我又回到了 Apache。
我已将整个应用程序目录复制到新的 Ubuntu 14.04 LAMP 服务器上。我将我的应用程序作为虚拟目录运行,这样我就可以拥有多个站点。
我删除了 web.config 文件并更新了 .htaccess 文件,并且加载了 home.ctp 页面。我试图加载我的索引视图之一,它开始加载页面,但 CSS 和 Javascript 没有加载。
在 webroot/index.php 中,我找到并更新了硬编码到 Windows 驱动器的“CAKE_CORE_INCLUDE_PATH”。
我在 /usr/share/SRP 下有我的应用程序,并且我有一个 SRP.conf 给我一个 http://server.com/SRP/ 的 url
Alias /SRP /usr/share/SRP
<Directory /usr/share/SRP>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
DirectoryIndex index.php
Order Allow,Deny
Allow from All
</Directory>
当我尝试访问另一个页面时,例如http://server.com/SRP/users,页面加载时没有 CSS 和 Javascript。
<script type="text/javascript" src="/SRP/js/jquery-1.10.2.min.js">
在这种情况下,javascript 不会加载(得到 404)。
<img src="/SRP/img/cake.power.gif" alt="Systems Management Request Portal" border="0" />
蛋糕 gif 确实加载对我来说似乎很奇怪。 DebugKit 和工具栏也是如此。
我认为这是 mod_rewrite 或 WEBROOT_DIR 的问题。
【问题讨论】:
-
检查
script和img标签在呈现的 HTML 页面中真正指向的位置。 -
检查你的 cakephp 项目的根目录、app 和 webroot 目录中是否有所有三个 .htaccess 文件。如果是,请检查 apache mod-rewrite 模块是否已安装并加载。大多数情况下,移动代码时不会传输 .htaccess 文件。
-
我不得不将 js、css 和 img 文件从 SRP/app/webroot 复制到 SRP/webroot。是因为我从 IIS 改成了 Apache 还是跟 url 重写有关?
标签: javascript css .htaccess cakephp mod-rewrite