Сделать перенаправление папки для домена с использованием правил .htaccess?

Недавно я переместил папку files/images на своем сайте (установка Drupal) из /sites/default/files/ в /sites/example.com/files/, но теперь появляется много ошибок 301 из внешних источников хотлинкинга, и Я хочу перенаправить входящие ссылки со старого пути «по умолчанию» на новый «example . com', но только для этого одного домена...

По сути, я хотел бы перенаправить посетителей из следующего:

пример точка ком /сайты/по умолчанию/файлы/*

to:

пример точка com /sites/example.com/files/*

Разрешая посетителям из других доменов (например, example2 dot com) по-прежнему видеть сайты/по умолчанию/файлы.

(Извините за все эти странные точки и пробелы, мне разрешено публиковать максимум одну «гиперссылку» - возможно, Stack Overflow следует рассмотреть возможность разрешения примера точки com столько раз, сколько необходимо).


person geerlingguy    schedule 23.11.2009    source источник
comment
Кстати, «разрешена только одна гиперссылка» — это механизм защиты от спама для вновь зарегистрированных учетных записей. Вам будет разрешено размещать больше сообщений, как только вы наберете немного больше очков репутации.   -  person Henrik Opel    schedule 23.11.2009
comment
Понимаю. Я просто хотел подчеркнуть, что www.example.com — это совершенно безобидная и часто используемая ссылка для демонстрационных целей :) Немного неприятно получать кучу предупреждений, пока вы не испортите каждую из ваших ссылок. в посте...   -  person geerlingguy    schedule 23.11.2009


Ответы (1)


Попробуйте это правило mod_rewrite:

RewriteEngine on
RewriteCond %{HTTP_HOST} =example.com
RewriteRule ^sites/default/files/(.*) /sites/example.com/files/$1 [L,R=301]
person Gumbo    schedule 23.11.2009
comment
Просто быстрый вопрос о синтаксисе — сочетается ли «RewriteCond» с «RewriteRule»? То есть, если я добавлю еще одно условие/правило для другого домена, просто добавлю ли я это определение под последней строкой, и все будет хорошо? - person geerlingguy; 23.11.2009
comment
Шикарный! Просто немного переделал правило (поскольку у меня было другое правило, чтобы изменить не-www на www.example.com): ‹code›RewriteCond %{HTTP_HOST} www.lolsaints.com$ [NC] RewriteRule ^sites/default/files /(.*) /sites/lolsaints.com/files/$1 [L,R=301]‹/code› - person geerlingguy; 23.11.2009