2016-10-05 17 views
1

У меня есть субдомен (us.example.com) и основной домен (example.com). Я хочу перенаправить URL-адрес субдомена в основной домен только для определенного изображения. Например, если я ударил http://us.example.com/images/test.jpg, тогда он должен перенаправить на http://example.com/images/test.jpgперенаправление htaccess для загрузки определенного URL-адреса изображения в субдомене из основного домена

Я пытаюсь перенаправить 301, как показано ниже, но он не работает.

Redirect 301 https://us.example.com/images/test.jpg https://example.com/images/test.jpg 

Я также пробовал другие правила, но все они работают над полным каталогом изображений, а не для определенного изображения в каталоге.

Update Измененное правило, как это -

RewriteCond %{HTTP_HOST} ^us\.example\.com$ [NC] RewriteRule ^/?images/test.jpg$ https://example.com/images/test.jpg [R=301,L]

Но не повезло.

+0

Просьба вставить.htaccess файл еще взгляните на эту ссылку http://stackoverflow.com/questions/20677792/rewrite-subdomain-to-main-domain-for-images-only-using-htaccess – Kate

+1

Спасибо @Kate Я не думаю, что в комплекте Для этого требуется файл .htaccess. Я уже применил правило, которое я применил. Для вашей ссылки я уже упоминал об этом, но работает над полным каталогом, и я хочу установить правило только для одного изображения. –

ответ

1

Redirect directive от mod_alias имеет следующий синтаксис:

Redirect [status] [URL-path] URL 

и, как вы видите, он получает/принимает URL-путь, а не весь URI/URL для согласования.

Для матча подобласти используйте <if> директиву:

<If "%{HTTP_HOST} == 'us.example.com'"> 
    RedirectPermanent /imges/test.jpg https://example.com/images/test.jpg 
</If> 

То же самое может быть достигнуто с помощью mod_rewrite следующим образом:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^us\.example\.com$ [NC] 
RewriteRule ^/?images/test.jpg$ https://example.com/images/test.jpg [R=301,L] 
+0

Привет @hjpotter, Пробовал все, но не работал. проверьте обновленный вопрос. –

+0

@HelloPython Не работает как? Есть ли у вас какие-либо другие правила? Правила выше должны появиться в самом начале вашего файла htaccess. – hjpotter92

0

Попробуйте этот мат,

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^us.domain.com$ [NC] 
RewriteRule (.*) http://www.domain.com/$1 [R=301,L] 
</IfModule> 

Что будет h Appen для вышеприведенного .htaccess был,

Если вы посетите

us.domain.com/somelink

Он будет перенаправлять

domain.com/somelink

EDIT:

Предположим, если выше не поможет попробовать ниже один с симлинками

Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^us.domain.com [NC] 
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301] 

Update 1:

Для только test.jpg

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{HTTP_HOST} ^us.domain.com/images/test.jpg [NC] 
    RewriteRule (.*) http://www.domain.com/images/test.jpg [R=301,L] 
</IfModule> 
+0

Спасибо! Но я хочу, чтобы это для одного URL-адреса изображения не для всех URL-адресов, которые я хочу перенаправить. –

+0

@HelloPython вы хотите его только для test.jpg или всего jpg? –

+0

@HelloPython проверяет сделанное выше обновление и обновляет, работает ли он или нет. –

 Смежные вопросы

  • Нет связанных вопросов^_^