2015-03-30 2 views
2

У меня этот .htaccess в моем/форуме/каталоге. Теперь я хочу добавить другое правило: все URL-адреса с форматом, отличным от тех, которые указаны в этих двух правилах, должны быть перенаправлены из old-domain.com/forum/* в new-domain.com/forum/.Добавить правило перезаписи

Мне нужна постоянная переадресация.

Пример желаемого переадрессации:

from old-site.com/forum/members/15-username 
to new-site.com/forum/ 

Фактический .htaccess:

RewriteEngine On 
RewriteBase /forum/ 

RewriteCond %{HTTP_HOST} ^(?:www\.)?old-domain\.com$ [NC] 
RewriteRule ^([^/]+)/([^-]+)-([^/]+)/?$ http://new-domain.com/forum/$1/$3.$2 [L,R=302,NE] 

RewriteCond %{HTTP_HOST} ^(?:www\.)?old-domain\.com$ [NC] 
RewriteRule ^([^-]+)-([^/]+)/?$ http://new-domain.com/forum/$2.$1 [L,NE,R=302] 

FYI, эти правила для этих переадресаций: 1)

From: old-domain.com/forum/idF-forum-name 
To: new-domain.com/forum/forum-name.idF 

Где IDF является переменное число, а «original-name» - переменная фраза

2)

From: old-doimain.com/forum/idF-forum-name/idT-thread-name 
To: new-domain.com/forum/idF-forum-name/thread-name.idT 

Где МВА случайного числа.

ответ

1

Вы можете попробовать новое правило в нижней части:

RewriteEngine On 
RewriteBase /forum/ 

RewriteCond %{HTTP_HOST} !^(?:www\.)?old-domain\.com$ [NC] 
RewriteRule^- [L] 

RewriteRule ^[\w-]+/\d+-[^/]+/?$ http://new-domain.com/forum/ [L,R=302]  

RewriteRule ^([^/]+)/([^-]+)-([^/]+)/?$ http://new-domain.com/forum/$1/$3.$2 [L,R=302,NE] 

RewriteRule ^([^-]+)-([^/]+)/?$ http://new-domain.com/forum/$2.$1 [L,NE,R=302] 

RewriteRule^http://new-domain.com/forum/ [L] 
+0

/форум/должен быть заменен new-domain.com/forum/? – testermaster

+0

привет @anubhava, я протестировал его, но он не работает. Проблема в том, что для нового URL-адреса (смотрите первый пост) он соответствует первому правилу. Я думаю, что должен быть способ переписать два предыдущих правила, указав, что 'idF' и' idT' (посмотрите на первое сообщение для значения) могут быть ** ТОЛЬКО ** номерами. Не уверен, как его реализовать. – testermaster

+0

PS: Мне нужно, чтобы все были постоянным перенаправлением, просто нужно изменить 'R = 302' на' R = 301', правильно? – testermaster

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