如何在.htaccess中使用RewriteBase来重写img标签?

时间:2009-06-25 23:08:56

标签: .htaccess image mod-rewrite

我想我不懂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)。

1 个答案:

答案 0 :(得分:1)

我自己一直在努力,直到我意识到我对重写规则的理解是错误的。重写规则仅用于重写URL。 Apache不会将它们应用于HTTP请求的内容。标签位于HTTP请求中。

我的问题的解决方案是应用shell sed脚本在旧路径上执行正则表达式替换。