我今天在研究thinkphp的URL模式时,发现一个大问题,就是在pathinfo模式下,网页里的链接元素(包括图片,css文件,js文件),他们因为用相对地址的,变成了错误的地址,导致文件不能显示。下面是详细的问题图片:
在"普通URL模式"下,访问网页是正常显示的。但我把URL模式配置成pathinfo模式后,网页显示如下:
网页所有的样式,图片都不能显示,于是我用浏览器查看网页源代码,发现浏览器不能正确识别他们的地址,如下图
看如图的一个js文件,地址是错误的,正确能显示的地址应该是:
http://www.thinkphp.com/master/Public/coreadmin/js/min.js
却变成了:
http://www.thinkphp.com/master/admin.php/Index/Public/coreadmin/js/min.js
也就是说,浏览器把相对地址为
Public/coreadmin/js/min.js
的js文件,把它添加到整个pathinfo后面了,而不是入口文件所在的目录下。
请问大哥们,这个问题是怎么解释的?我觉得很奇怪,浏览器怎么会怎么判断的呢?
如果我的网页元素非得要用相对地址,该如何解决这个问题?