mod_rewrite: два сайта, относительные ссылки на изображения.Переписать URL-запрос изображения в одну физическую папку - PullRequest
0 голосов
/ 16 ноября 2011

Веб-сайт A и веб-сайт B находятся в папке /en/. Итак:
Веб-сайт A: http://domain/
Веб-сайт B: http://domain/en/
На обоих сайтах есть папка /images/.

Я хочу, чтобы любые запросы к изображениям сайта B перенаправлялись на изображения сайта A. Другими словами:
http://domain/en/images/*http://domain/images/*

Вот что я пытался сделать:

RewriteEngine On
RewriteBase /
RewriteRule ^en/images/(.*)$ /images/$1

И я попытался добавить условия, такие как RewriteCond %{REQUEST_FILENAME} !-f. Это не сработало.

Каким должно быть содержимое файла .htacces и в какую физическую папку мне его поместить?

Ответы [ 2 ]

2 голосов
/ 16 ноября 2011

Если вы хотите внешнее перенаправление (фактически отправьте браузер на новый URL):

Redirect permanent /en/images/ /images/

В противном случае,

Alias /en/images /var/www/document_root/images/

Это должно идти в блоке <VirtualHost> для веб-сайта.

Если и только если , у вас нет доступа к конфигурации виртуального хоста, и если вы хотите внутреннего перенаправления, вы можете поместить это в /var/www/document_root/en/images/.htaccess:

RewriteEngine on
RewriteRule .* /var/www/document_root/images/$0
1 голос
/ 16 ноября 2011

Если вы поместите это в корень документа, оно должно работать, но если вы хотите перенаправить браузер , вам нужен [R] в конце вашего RewriteRule, и для безопасности,[L] тоже.

RewriteRule ^en/images/(.*)$ /images/$1  [R,L]

Для перенаправления с 301 (постоянным) измените R на R=301.

...