2016-02-03 2 views
0

У меня есть два субдоменов, связанные с двумя доменов и путем, и мне нужно, чтобы перенаправить аа нового домена с той же подобластью без пути т.е.Htaccess URL перенаправления с субдоменом и путем

www.subdomainone.olddomain.com/path/article -> www.subdomainone.newdomain.com/article 
www.subdomainone.olddomaintwo.com/path/article -> www.subdomainone.newdomain.com/article 

www.subdomaintwo.olddomain.com/path/article -> www.subdomainone.newdomain.com/article 
www.subdomaintwo.olddomaintwo.com/path/article -> www.subdomaintwo.newdomain.com/article 

Я не знакомы с правилами htaccess, и я пробовал использовать тестеры в Интернете, но не могу решить мою проблему.

ответ

0

Вы можете использовать общие правила на olddomain «s корневого сайта .htaccess:

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^www\.([^.]+)\.olddomain\.com$ [NC] 
RewriteRule ^(?:fr(?:-ca)?/)?(.*)$ http://www.%1.newdomain.com/$1 [L,NC,R=302] 
+0

Я не хочу, чтобы„путь“части пути, хотя есть только статья –

+0

также путь может есть дефис aka path-pathy/article –

+0

, это работает, но у меня есть другое продолжение. путь может быть либо/fr, либо/fr-ca или/en-ca. Есть ли способ просто искать/fr и/fr-ca? Спасибо @anubhava, что вы оказали огромную помощь. –

0

Apache имеет url rewrites набор простых регулярных выражений, которые позволяют делать любой король такой операции, все входящие URL-адреса трафика будут перестроены, прежде чем указывать направо путь (если это то, что вы ищете).

Напишите правила storng, которые не восстанавливают старые URL-адреса, которые остаются неизменными.

Решение для защиты доверенных лиц (по мере перехода на новые URL-адреса) состоит в том, чтобы переписать все старые URL-адреса, но не запрашивать пользователей на странице, а скорее перенаправить пользователю перенаправление HTTP на новый URL-адрес, чтобы вы избегали использования физическим пользователем и они забудутся за короткое время.

0
example request:  
http://subdomain.olddomain.com/path/article/pme 

htaccess 

Options +FollowSymlinks 
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(.+)\.olddomain\.com$ 
RewriteRule ^(?:path(?:-pathy)?/)?(.*)$ http://%1.newdomain.com/$1 [R=301,QSA,L] 

This accounts for a hyphen in the path also for a dynamic subdomain. 

new url: http://subdomain.newdomain.com/article/pme 
Смежные вопросы