- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Перерыл и перепробовал многое, но что то все не получается :-(
Либо не отрабатывает, либо в 500 ошибку падает
Задача:
есть список сайтов/доменов
надо сделать так, что если с них заходят, то перенаправляются на определенную страницу.
То есть по сути (из того что нашел в инете в примерах)
RewriteCond %{HTTP_REFERER} ^http:/rambler.ru [OR]
RewriteCond %{HTTP_REFERER} ^http:/yandex.ru [OR]
RewriteCond %{HTTP_REFERER} ^http://google.ru [NC]
RewriteRule /perehod_s_poiskov.php
Пробовал различные комбинации (добавляя *$ и [NC])... но результата не получил.
Как правильно создать правило, что имея переход с:
сайт1
сайт2
сайт3
сайт4
переходим на МОЯ_СТРАНИЦА
PS: RewriteEngine on тоже добавлял
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://yandex\.ru/ [OR]
RewriteCond %{HTTP_REFERER} ^http://www\.google\.ru
RewriteRule .* /perehod_s_poiskov.php [R,L]
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://yandex\.ru/ [OR]
RewriteCond %{HTTP_REFERER} ^http://www\.google\.ru
RewriteRule .* /perehod_s_poiskov.php [R,L]
Проверил переходом с яндекса - спокойно переходит на главную и правила не отрабатывают
:(
то есть сейчас правило выглядит так:
Когда случайно последние две строчки были вида:
меня вместо любой страницы пыталось перенаправить на ref_CAP.php и выдавало 302 ошибку
В последним RewriteCond перед rewritRule не должно быть флага OR
По понятнее пожалуйста, что такое "вместо любой страницы"? Все верно, 302 редирект сработает, про 302 ошибку не знаю.
Лол?
http://http://yandex\.ru
В последним RewriteCond перед rewritRule не должно быть флага OR
Я знаю, судя из Вашего примера его не должно быть.
Порст про это написал, что бы показать, что данный mod на хостинге прописан (а то некоторые отрублены)
По понятнее пожалуйста, что такое "вместо любой страницы"? Все верно, 302 редирект сработает, про 302 ошибку не знаю.
ввожу в браузере адрес мой_сайт/любая_страница (даже той, которой нет)
происходит переадресация на ref_CAP.php
Но вместо того, что должно быть на странице, браузер отображает в заголовке "302 Found"
а текст:
Found
The document has moved here.
Лол?
Нет :-)
Это у меня способ проверить, что при переходе с данного домена меня перекинет на нужную страницу.
Он чисто для тестов сейчас так сделан, и то комментируется после эксперемента сразу же
Просто писать не надо, пример рабочего варианта я вам дал в первом примере. Если вы составляете по нему свои правила и они на работают, то сюда приводите точь в точь как у вас написано в файле (домены можете замазать) - здесь телепатов нету, угадать что "это" написано просто, а вот "это" чисто для тестов.
Для мод_реврайта нет такого понятия "существующая страница". Редиректится любой УРЛ с реферером указанном в условие.
Нет :-)
Это у меня способ проверить
Вы обратите внимания что у вас адрес неправильно написан.
Зы
Да, реферер при серверном редиректе сохраняется, поэтому, если страница находится на том же домене, то для нее нужно сделать исключение, иначе получится зацикливание как в вашем случае 302 Found
RewriteCond %{REQUEST_URI} !^/perehod_s_poiskov.php
RewriteCond %{HTTP_REFERER} ^http://yandex\.ru/ [OR]
RewriteCond %{HTTP_REFERER} ^http://www\.google\.ru
RewriteRule .* /perehod_s_poiskov.php [R,L]
Вы обратите внимания что у вас адрес неправильно написан.
Вот я ЛОШАРА!!! :-D
глаз явно замылился за весь день...
Зы
Да, реферер при серверном редиректе сохраняется, поэтому, если страница находится на том же домене, то для нее нужно сделать исключение, иначе получится зацикливание как в вашем случае 302 Found
RewriteCond %{REQUEST_URI} !^/perehod_s_poiskov.php
RewriteCond %{HTTP_REFERER} ^http://yandex\.ru/ [OR]
RewriteCond %{HTTP_REFERER} ^http://www\.google\.ru
RewriteRule .* /perehod_s_poiskov.php [R,L]
СПАСИБО!
ВСЕ РАБОТАЕТ!
PS: Вы не сильно будете ругаться, если такой нуб как я, Великого Гуру еще поспрашает немного?
Есть ссылка вида: http://w*****.ru/?ref_r=114961816194
Можно сделать средствами .htaccess, что именно по этой динамической ссылке, будет переход на страницу /stop.php ???
а другие динамические реф.ссылки работали нормально?
средствами php это то знаем как реализовать.
Если конкретно по этой, то
RewriteCond %{QUERY_STRING} ^ref_r=114961816194$
RewriteRule .* /stop.php? [R,L]
добавлять надо Перед предыдущем блоком (но после r-engine on), в противном случае может захватится им.