.htaccess подмена страницы

TAFF
На сайте с 28.08.2008
Offline
140
4618

Здравствуйте!

Подскажите пожалуйста, возможно ли посредством .htaccess определённым IP адресам отдавать другую страницу? Не редиректить, а именно подменять.

Если да то подскажите пожалуйста решение.

✓ Администрирование (/ru/forum/494299) | ✓ Домены (/ru/forum/298049) | ✓ Продажа аккаунтов narod.ru (/ru/forum/585347)
RO
На сайте с 13.07.2009
Offline
88
#1

на php проще


if($_SERVER['REMOTE_ADDR']=='127.0.0.1')
{
include 'stranichko1.php';
}
else
{
include 'normstranichko.php';
}

в .htaccess к сожалению не могу точно сказать...

[Удален]
#2

нельзя, только php

Polimer
На сайте с 01.09.2006
Offline
84
#3
TAFF:
Здравствуйте!

Подскажите пожалуйста, возможно ли посредством .htaccess определённым IP адресам отдавать другую страницу? Не редиректить, а именно подменять.

Если да то подскажите пожалуйста решение.

Все довольно просто средствами .htaccess (+mod_rewrite) решается.

Вам нужно примерно следующее:


RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^95\.108\.128\.242 [OR]
RewriteCond %{REMOTE_ADDR} ^72\.14\.199\.102
RewriteRule ^(.*)$ http://www.yandex.ru [L]
RewriteRule ^(.*)$ http://www.goodle.com

1. Собсна, с первой строчкой, думаю, понятно.

2, 3. Вторая и третья строки - те IP-адреса для которых должна выполняться переадресация (сюда можно много напихать таких строчек, разделяя их с помощью [OR]. Можно писать не только сами IP, но и маски подсетей. Если нужно переадресовать только один IP - уберите 3-ю строку и [OR] у втророй.

4. В 4й строке ваше правило переадресации для юзеров с перечисленными ранее IP (не забудьте в конце данной строки [L], иначе правила переадресации на этой строке не остановятся, а пойдут дальше).

5. В 5й строке правило для всех остальных юзеров.

Все это дело можно без особых проблем встроить в уже имеющийся .htaccess со свой схемой переадресации. Фактически Вам нужны будут 2, 3, 4 строки.

На счет редиректить или подменять: в конкретном моем примере будет редирект (т.к. подмена происходит на адрес внешнего сайта). Если нужно поменять без редиректа, адрес переадресации должен смотреть на ресурс вашего сайта (относящийся к вашему домену). Ну и при этом не должна быть явно указана переадресация ([R] в конце строки), тогда сработает подмена, так называемый internal redirect, не видимый пользователю (в адресной строке юзера останется старый адрес).

Программные решения для бизнеса. (http://frontsoft.ru/) На заказ. Дорого.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий