根据index.html和style.css的绝对路径地址以及表格分析,我们可以看出当跳了三级目录(../../../)时,可以正确地去引用style.css
../../../Public/Home/css/style.css <=> D:/zend/workspace/market/Public/Home/css/style.css
若利用绝对路径,正确的引用方式为D:/zend/workspace/market/Public/Home/css/style.css
同样地,css样式调整好之后,还需要调整html文件与img之间的引用关系。
index.html文件所在的绝对路径为:D:/zend/workspace/market/Home/View/Index/index.html
很多图片都存储在images文件夹下,而images文件所在的绝对路径为:D:/zend/workspace/market/Public/Home/images
若利用相对路径,以index.html为基准,正确的引用方式为:../../../Public/Home/images/XXX.jpg
若利用绝对路径,正确的引用方式为D:/zend/workspace/market/Public/Home/images/XXX.jpg
路由解析ThinkPHP框架的URL地址可以有以下四种形式:
基本get形式: 网站/index.php?m=分组&c=控制器&a=操作方法
pathinfo路径形式: 网址/index.php/分组/控制器/操作方法
rewrite重写形式(伪静态技术): 省略index.php入口文件:网站/分组/控制器/操作方法
兼容形式: 网址/index.php?s=http://www.likecs.com/分组/控制器/操作方法
前面我们讲到了一般情况下是如何进行绝对路径和相对路径的调整,而结合TP框架进行设置时,我们还需要遵循一定的规则,根据路由形式选择的不同,可能会造成一定的影响。
当我们采用pathinfo路径形式去访问页面时,如果我们希望利用相对路径的形式去引用css或者图片,上面讲到的路径形式是没有问题的,因为这时它是以index.html为基准去引用style.css
当采用基本get形式去访问页面时,如果我们希望采用相对路径的形式去引用css或者图片,这时它并不是以index.html为基准,而是以项目的入口文件index.php为基准,所以如果还按照上面讲到的路径形式去设置的话,就会出现问题。
index.php的绝对路径为D:/zend/workspace/market/index.php
正确的引用路径为:./Public/Home/css/style.css(./表示当前目录,可以省去),而不是上面讲到的../../../Public/Home/css/style.css。
为了避免这类问题的出现,我们可以采用绝对路径,但不采用上面讲到的方式。
我们在前面提及到/ 表示当前站点的根目录(域名映射的硬盘目录),即我们之前设置的虚拟目录位置D:/zend/workspace,/就等价于该地址,所以利用这种方式,正确的引用路径为:/market/Public/Home/css/style.css.
对于图片的引用也是一样的道理,这里不再赘述。这样一来,index.html对于css样式和img的引用就完成了,其他页面的引用均类似,进行一番调整便可以正确引入css和图片。
某些css样式里也有图片,在引入图片时,可以使用相对路径,它是以css文件自身为基准,与其他文件没有关系。
注:以上内容仅是我看过视频教程后个人的一些理解,可能会有不当之处,望理解:)...