这是我目前的“共享”服务器配置:
http://hello.com/ maps to /
# There are a bunch of HTML files under /
http://hello.com/sub-1/ maps to /sub-1/
现在我需要将新的“网站”上传到http://hello.com/sub-2/
。但是,此捆绑包中的所有HTML文件都使用绝对路径引用CSS和图像,例如<img src="/images/header.png" />
。
如何在不必更改站点文件的情况下配置服务器?
以下讨论(this和that)具有与此类似的性质。但是,我不想要将根文件夹更改为http://hello.com/sub-2/
。
谢谢!
答案 0 :(得分:0)
如果没有将所有图像引用更改为相对路径(或包含sub-2),就没有办法真正做到这一点。
一种hacky方式可能是-f
使用RewriteCond
标志,将从/ images加载到/ sub-1 / images或/ sub-2 / images的任何内容都改变,具体取决于目标图像存在的位置。一个例子可能是这样的:
RewriteCond -f sub-1/{$REQUEST_URI}
RewriteRule (images/.+) sub-1/$1
RewriteCond -f sub-2/{$REQUEST_URI}
RewriteRule (images/.+) sub-2/$1
当然,目录中的冲突会破坏一切。我的mod_rewrite经验也有点生疏,所以语法可能不是100%正确,但你明白了。