- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
привет. короче надоело уже искать и пробовать. поэтому спрошу у вас.
мне нужно чтобы страница показывалась только при редиректе с определённой страницы. а если напрямую из адресной строки браузера или с любого другого источника, то перекидывало на 404 ошибку.
т.е. есть ссылка http://url1.ru/123/. с неё идёт мгновенный htaccess редирект на http://url2.ru/456/. Redirect /123 http://url2.ru/456/
так вот, надо чтобы http://url2.ru/456/ открывалась только при редиректе с http://url1.ru/123/. а если любым другим способом обратиться к http://url2.ru/456/, то перекинет на http://url2.ru/404.shtml
по ходу чото связано с
RewriteEngine On
RewriteCond
RewriteRule
но ничо не насочинял в отсутствии знаний нужных.
Ну ты братишка и ленивое мурло.
В Инете как раз такого валом. Вчера рыл на предмет редиректа, и как раз было много по твоей теме.
А почему обязательно на htaccess(mod_rewrite)? На php куда легче:
if($_SERVER['HTTP_REFERER'] === 'тут реферер, который нужен') {тут, то что будет если все верно(пришел с нужной страницы)
} else {
тут, то что будет есть пользователь пришел не с той страницы
}
RoMaN444Ik, у меня не работает. ошибки выдаёт.
по вашему указанию должно выглядеть так:
if($_SERVER['HTTP_REFERER'] === 'http://url1.ru/123/') {
http://url2.ru/456/
} else {
http://url2.ru/404.shtml
}
ну и подобное пробовал. с убиранием http, добавлением ковычек ..... покажите как правильно.
c header('location всегда редиректит на http://url2.ru/404.shtml
Ну и какая ошибка?
Так же посмотрите что в $_SERVER['HTTP_REFERER']
И ещё нафига тут ===? == достаточно.
вот так ошибок нет, но всегда перекидывает на http://url2.ru/404.shtml
<?
if($_SERVER['HTTP_REFERER'] == 'http://url1.ru/123/') {
header('location: http://url2.ru/456/');
} else {
header('location: http://url2.ru/404.shtml');
}
?>
этот код в файле index.php, кторый лежит в папке http://url2.ru/456/
мне кажется тут не в значках проблема а в логике. обращаемся к http://url2.ru/456/ чтобы она или открыла сама себя или перекинула на http://url2.ru/404.shtml. когда она открывает сама себя, реферер уже не тот и кидает на else. не знаю. умные, подскажите.
Ещё раз, вы посмотрите, что в $_SERVER['HTTP_REFERER'] находиться то.
В начале скрипта: die ($_SERVER['HTTP_REFERER']);
100% он там пустой.
Попробуйте так:
<?
if(strpos (strtolower($_SERVER['HTTP_REFERER']), 'http://url1.ru/123/')===true) {
header('location: http://url2.ru/456/');
} else {
header('location: http://url2.ru/404.shtml');
}
?>
Ещё раз, вы посмотрите, что в $_SERVER['HTTP_REFERER'] находиться то.
В начале скрипта: die ($_SERVER['HTTP_REFERER']);
100% он там пустой.
как посмотреть? вставил в начало скрипта die ($_SERVER['HTTP_REFERER']);
открылась пустая страница http://url2.ru/456/
это значит реферер не передался?
редирект вот такой в папке http://url1.ru/123/
<?
$URL="http://url2.ru/456/";
header ("Location: $URL");
?>
373 добавил 09.11.2011 в 16:41
Попробуйте так:
<?
if(strpos (strtolower($_SERVER['HTTP_REFERER']), 'http://url1.ru/123/')===true) {
header('location: http://url2.ru/456/');
} else {
header('location: http://url2.ru/404.shtml');
}
?>
аналогично на http://url2.ru/404.shtml во всех случаях кидает.
ещё у меня оба этих домена припаркованы к двум основным доменам. т.е. на основном домене тоже что и на припаркованном. какбы в одну директорию ведут. по адресу основной-домен-1.ru открывается припаркованный http://url1.ru, а по адресу основной-домен-2.ru открывается припаркованный http://url2.ru. мутно объясняю, но думаю все поняли) может чото из-за дополнительных перенаправлений на сервере??
Как открыли то? Просто в закладку ввели адрес?
Как открыли то? Просто в закладку ввели адрес?
и редиректом и просто из адресной строки браузера