这听起来很令人困惑,但事实并非如此。问题是:
- 应用程序位于www.site.com/app
- 在/app中,有一个htaccess将任何不存在的文件或目录重新路由到index.php
- index.php执行
$method = end(explode('/',$_SERVER['REQUEST_URI']));
并调用它的方法 - 现在,方法可以是CSS,所以CSS例程需要获取CSS文件,并用
url(http://site.com/app/images
替换任何url(images/
问题在于"猜测"http://site.com/app/images,因为REQUEST_URI的范围可以从最干净的site.com/images到最脏的http://ex.gau.mit.edu/~jonas/site/projects/2012/app/ignoredmethod/more/ignored/methods/css
在不指定脚本URL的情况下,如何猜测图像文件夹的URL?
SCRIPT_NAME
在这里将非常有用。
define('URL', (dirname($_SERVER['SCRIPT_NAME'])) == "/" ? "" : (dirname($_SERVER['SCRIPT_NAME'])));
用法:
echo "<a href='http://$_SERVER[SERVER_NAME]/".URL."/images/image.jpg'>image</a>";