我正在尝试在我的laravel项目中使用css文件中的图像,该项目使用了twitter bootstrap和Jason Lewis的Basset。
现在我在我的css中使用图像
.div {
background: url('asset/img/photo.jpg');
}
我得到了
的路径http://localhost/asset/css/less/assets/img/photo.jpg
但真正的路径应该是
http://localhost/~Username/laravelProject/public/asset/img/photo.jpg
实现此目的的唯一方法是在我的CSS中使用此URL
/../〜用户名/ laravelProject /公共/资产/ IMG / photo.jpg
如果我必须将网站从本地移动到服务器并且每次都必须更改所有网址,你们就会理解这是不行的。那么为什么这不能正常工作?我正在使用这个由andrew13
制作的laravel启动站点最后但并非最不重要..这是结构
答案 0 :(得分:-1)
问题是路径低于css doc,相对文件路径通过将文件位置添加到url的开头来工作,这意味着它正在寻找(Mypath)/asset/img/photo.jpg
(或public/asset/css/asset/img/photo.jpg
来自我所见)
没有PHP服务器返回动态网址,遗憾的是你只有两个选项:
这是如何工作的将php文件放在根文件夹中,以设置其位置的常量:
<?php
define('ROOTPATH', dirname(__FILE__));
?>
如果你想使用它,只需包含该文件,然后使用ROOTPATH
:
<?php
include 'TheFileName.php';
echo ROOTPATH,'/public/asset/img/photo.jpg';
?>
在大多数php服务器上,这已经设置为$_SERVER['DOCUMENT_ROOT']
,但在本地主机上需要使用节点。
请注意这是sudo代码,有些事情可能需要更改