当前位置:  开发笔记 > 编程语言 > 正文

如何保持网站与url路由目录的独立性

如何解决《如何保持网站与url路由目录的独立性》经验,为你挑选了1个好方法。

我正在开发一个使用url路由的PHP网站.我希望该网站与目录无关,因此可以将其从http://site.example.com/移至http://example.com/site/,而无需更改HTML中的每个路径.当我链接到不受路由影响的文件(例如css文件,图像等)时,问题就出现了.

例如,假设index控制器动作的视图welcome包含图像img/banner.jpg.如果使用网址http://site.example.com/welcome请求页面,则浏览器会将图像请求为http://site.example.com/img/banner.jpg,这非常好.但是如果使用网址http://site.example.com/welcome/index请求页面,浏览器会认为这welcome是一个目录,并会尝试将图像提取为http://site.example.com/welcome /img/banner.jpg,这显然是错误的.

我已经考虑了一些选择,但它们对我来说似乎都不完美:

使用url重写将请求从(*.css | *.js | ...)或(css/* | js/* | ...)重定向到正确的路径.

问题:每个扩展都必须在重写规则中命名.如果有人要添加新的文件类型(例如mp3文件),则不会重写.

使用php函数在每个相对路径前面添加基本路径.例如:

问题:看起来凌乱; 包含路径的cssjs -files必须由PHP处理.

那么,如何保持网站目录独立?有没有比我提出的更好/更清洁的方式?



1> Tom Haigh..:

你可以把头放进去

 

这意味着浏览器将请求相对于该路径的任何非绝对URL.但是我不确定这会如何影响CSS文件中嵌入的URL等.这不会影响CSS文件中定义的路径.(感谢mooware)

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有