Как использовать htaccess для изменения путей к изображениям? - PullRequest
2 голосов
/ 06 марта 2011

У меня есть HTML-файл с изображением:

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

Можно ли перенаправить этот путь на другой, используя .htaccess?

Таким образом, приведенный выше пример станет эквивалентным

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

Ответы [ 3 ]

5 голосов
/ 06 марта 2011

Что ж, вы можете избежать перенаправления всех вызовов, заканчивающихся на /smilies/happy.gif, в этот каталог, поэтому не имеет значения, откуда поступил вызов. Это означает, что вы не должны вызывать это в каком-либо другом подкаталоге, но я полагаю, что вы этого не сделаете.

как-то так (догадываюсь здесь, не могу проверить, так что читайте там о написании:)

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

в основном вы переписываете все, что имеет '/ images /' в этом статическом адресе, вставляете все, что было после изображений после нового адреса (штука $ 2), а затем указываете, что это последняя команда для анализа (остановки) странные вещи в htaccess) и что вы хотите, чтобы 301 (постоянно перемещенный) код был отправлен.

1 голос
/ 06 марта 2011

Я думаю, что проще установить переменную в вашем конфиге

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

Лучше, чем у вас есть контроль, исходящий от статического, и механизм перезаписи работает медленно, когда вы вызываете его каждый раз, когда это не очень хорошо.

0 голосов
/ 06 марта 2011

RewriteRule ^(smilies/.*)$ <a href="http://static.example.com/" rel="nofollow">http://static.example.com/</a>$1 [R]

...