301 Перенаправление за исключением одного человека, использующего .htaccess? - PullRequest
0 голосов
/ 13 июля 2010

Я недавно перенес сайт WordPress на новый сервер и новое доменное имя.Чтобы перенаправить трафик со старого сайта на новый, я поместил простой однострочный файл .htaccess:

Redirect 301 / http://www.newsite.com/

Теперь, однако, клиент хочет получить доступна старый сайт.Есть ли способ, которым я могу позволить одному человеку и перенаправить всех остальных на новый сайт?

Ответы [ 2 ]

2 голосов
/ 13 июля 2010

Вы можете сделать ваше перенаправление условным, добавив директиву RewriteCond перед директивой перенаправления:

RewriteCond %{SOMETHING} !the-client

Где SOMETHING - это переменная сервера, которую можно использовать для идентификации клиента, а the-client - это шаблон, который идентифицирует клиента.

Например, если ваш клиент всегда приходит с известного IP-адреса, вы можете использовать это:

RewriteCond %{REMOTE_ADDR} !^12\.34\.56\.78$
Redirect 301 / http://www.newsite.com/

См. http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html, чтобы узнать больше доступных серверных переменных, если IP-адрес не подходит для вашей ситуации.

0 голосов
/ 13 июля 2010

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

RewriteEngine On

# Replace with the appropriate IP address
RewriteCond %{REMOTE_ADDR} !=192.168.0.1
RewriteRule .* http://www.newsite.com%{REQUEST_URI} [R=301,L]

В качестве альтернативы, вы можете сделать что-то подобное...

RewriteEngine On

RewriteCond %{THE_REQUEST}  !\?noredirect
RewriteCond %{HTTP_REFERER} !^http://www\.oldsite\.com
RewriteRule .* http://www.newsite.com%{REQUEST_URI} [R=301,L]

И затем (при условии, что их браузер отправляет реферера) они могут получить доступ к старому сайту по адресу http://www.oldsite.com/?noredirect и, надеюсь, любые последующие ссылки, по которым они нажали после этого, будут работать правильно, без перенаправленияновый сайт.Я не проверял это, хотя, возможно, я что-то упустил.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...