2011-03-05 119 views
2

我有了一个图像的HTML文件:如何使用htaccess更改图像路径?

<img src="../smilies/happy.gif" /> 

是否有可能重定向使用.htaccess这条路到另一个?

所以上面的例子将成为等同于

<img src="http://static.example.com/smilies/happy.gif" /> 
+0

为什么你不能在PHP中做到这一点? – RobertPitt 2011-03-05 22:03:56

回答

5

那么,你也许可以侥幸逃脱重定向与/smilies/happy.gif到该目录结束所有通话,这样就不会身在何处,电话来自何处。这确实意味着你不应该打电话给其他的子目录,但我想你不会。

是这样的(猜测这里,水湿测试,所以在rwriting读了那里:)

RewriteRule  ^(.*)/images/$(.*) http://static.example.com/smilies/$2 [L,R=301] 

基本上你重写一个其中有“/图片/”来静态ADRESS一切,粘贴新图像后的任何图像($ 2 thingy),然后指出这是解析的最后一个命令(以阻止htaccess中的奇怪事物),并且希望发送301(永久移动)代码。

+0

我不熟悉'.htaccess' ...你能提供一个例子吗? – BrunoLM 2011-03-05 22:04:05

+0

只是做:)。尽管我会使用301代码,@adarshr的exmaple prolly也可以工作。 – Nanne 2011-03-05 22:07:40

+0

就是这样。谢谢:) – BrunoLM 2011-03-05 22:16:42

1

我认为它更容易设置一个变量在你的配置

<?php 
$static_url = "http://static.example.com/"; 
?> 
<img src="<?php echo $static_url; ?>/smilies/happy.gif" alt="" /> 

其更好,那么你必须从静态的东西来控制和重写引擎是缓慢的,当你把它每次它不是SOOO好。

+0

尽管我可以修改这个文件,但修改已经有20万个帖子的整个论坛系统(vBulletin)会很痛苦。 – BrunoLM 2011-03-05 22:05:11

0

RewriteRule ^(smilies/.*)$ http://static.example.com/ $1 [R]

+0

差不多。例如我提供的演示可能以'..'开头。 '^ smilies'可能永远不会匹配:P – BrunoLM 2011-03-05 22:16:17