2016-07-22 2 views
0

Happy Friday!Перенаправление трафика с определенного URL-адреса на определенную страницу

Я пытаюсь создать редирект через .htaccess, в основном, когда пользователь посещает нашу старую систему поддержки, он будет посылать их на IP новой системы поддержки ... Via HTAccess Я создал следующие:

RewriteCond %{HTTP_REFERER} oldsystem.domain.com [NC] 
RewriteRule .* http://newsystem.domain.com/pages/wiki-has-moved/ [R,L] 

Однако, это не может указывать на пользователя с домашней страницы новой системы .... Пожалуйста, может кто-то помочь мне достичь этого перенаправления?

Примечание - Я последовал за этот вопрос, но результаты не работают с перенаправлением из .htaccess: Allow access to a certain page on a site, only if they come from a link on another certain page

Примечание 2 - Системы находятся на двух разных серверах, и с разными IP. Однако они используют тот же домен oldsystem1.domain.com & newsystem1.domain.com.

Примечание 3- Мы по-прежнему хотим, чтобы пользователи имели доступ к старому контенту (сотрудникам), но не сотрудники будут перенаправлены в новую систему. Вот почему мы должны указать перенаправление на IP.

+1

Почему вы проверяете реферера? Похоже, вам лучше проверить имя хоста запроса. // Этот вопрос не содержит деталей. Например, два сайта, размещенные на одном и том же веб-сервере под одним и тем же IP-адресом, или они совсем разные? – CBroe

+0

@Cbroe - они полностью на разных системах (два разных IP-адреса). Я предполагаю, что проверяю имя хоста, будет работать для этого? (Я уточню вопрос - это не очень подробно, как вы правильно указали - спасибо :)) –

+0

Если они находятся в разных системах, вам не нужно делать никаких дополнительных проверок - просто введите код, который делает перенаправление «на» старой системы, где обрабатывается запрос для oldsystem1.domain.com. – CBroe

ответ

1

Это, как мне удалось преодолеть проблему:

RewriteCond %{HTTP_HOST} ^wiki.volocommerce.com$ 
RewriteRule ^(.*)$ http://hub.volocommerce.com/pages/wiki-has-moved/ [R=301,L] 
RewriteCond %{HTTP_HOST} ^wiki.esellerpro.com$ 
RewriteRule ^(.*)$ http://hub.volocommerce.com/pages/wiki-has-moved/ [R=301,L] 

Надеется, что это помогает кому-либо еще :)

0

Вы активировали двигатель перезаписи? Ваш Htaccess должен выглядеть следующим образом:

RewriteEngine On 
RewriteBase/
RewriteCond %{REMOTE_HOST} !^1.2.3.4 . // replace with allowed ip address 
RewriteRule .* http://newsystem.domain.com/pages/wiki-has-moved/ [R,L] 

Если оно должно быть постоянным редирект добавить [L, R = 301] вместо [R, L], так что браузер будет держать перенаправлять в кэше и непосредственно перейти на новый сайт, не перенаправляясь снова.

Если вы хотите, чтобы несколько IP-адреса можно добавить несколько условий, как:

RewriteCond %{REMOTE_HOST} !^1.2.3.4 [OR] 
RewriteCond %{REMOTE_HOST} !^5.6.7.8 
Смежные вопросы