我想我不懂RewriteBase。我有一个(drupal)网站建立在我的开发服务器上,一切都很完美。我在自己的apache和hosts文件中为它创建了一个假URL,所以我使用“local-examplesite.com”访问我的本地版本。
最终它会在www.examplesite.com上发布,但我想在我的托管公司提供一个带有临时URL的草稿,如:123.45.67.89/~examplesite。我将.htaccess中的RewriteBase设置为/ ~examplesite。
所有页面都正常工作,所有导航链接都转到正确的位置。但是我的图像都不起作用!它们的格式为src =“/ sites / default / images / blah.png”,因此标签将呈现为src =“http://123.45.67.89/sites/default/images/blah.png”,而不是src =“http://123.45.67.89/~examplesite/sites/default/images/blah.png”。
有什么方法可以让网站指向正确的图像?我认为这就是rewritebase的用途,但是在读了一下之后我猜它只适用于URL(那些被重写的,natch)。
答案 0 :(得分:1)
我自己一直在努力,直到我意识到我对重写规则的理解是错误的。重写规则仅用于重写URL。 Apache不会将它们应用于HTTP请求的内容。标签位于HTTP请求中。
我的问题的解决方案是应用shell sed脚本在旧路径上执行正则表达式替换。