URL路径在本地工作但不在服务器上工作

时间:2015-01-29 17:14:20

标签: linux apache laravel laravel-4 url-rewriting

我项目中的大多数URL链接(css,images,js文件等)都是绝对的,但这些链接不能在我的服务器上运行。 我已将项目放在我的服务器上的子文件夹中,因此它将转到根目录。

如何更改此设置,以便/images/background.jpg之类的网址转到123.12.34.56/projectfolder/images/background.jpg而不是123.12.34.56/images/background.jpg

我想它与Apache配置有关,但我还是找不到它......

我正在使用Laravel,所以也许有一些laraways可以解决这个问题。

2 个答案:

答案 0 :(得分:0)

尝试从根目录中获取路径网址。 如果您使用的是PHP,则可以使用getcwd()函数并将其保存在变量路径根目录中,并将所有URL保存为相对路径而不是绝对路径。 希望这可以帮助。

答案 1 :(得分:0)

我通常做的是创建一个子域(cdn.example.com)并将其指向名为assets的目录,该目录与公共目录处于同一级别。我所有的js,图像,CSS都在那里。

然后在app.config中添加一个新的键值对'cdn'=> 'http://cdn.example.com'。当我添加css或js文件时,我正在使用它。

<script src="<?php echo Config::get('app.cdn') ?>/js/jquery/1.7.1/jquery.min.js"></script>

为什么这样?如果我决定将我的资产移动到缓存服务器,我可以通过移动cdn.example.com轻松实现这一点