Реклама на сайте Advertise with us
Тема: Редирект через .htaccess - как? Расширенный поиск по форуму
 
Внимание! В связи с устареванием топика эта страница была взята из кэша.
Автор Сообщение
Информация о пользователе ultimate


Зарегистрирован: 17.08.01
Сообщения: 184
Ссылка на сообщениеДобавлено: 08/04/04 в 00:16     

нужно пришедшие хиты с определенных трейдеров (доменов) редиректить на определенную страницу..
в хтассесе пишу следующее:
-----
RewriteEngine On
RewriteCond %{HTTP_HOST} yahoo\.com [NC]
RewriteRule (.*) http://домен.ком/$1 [R,L]
-----
и нифига блин не выходит =[
все подряд сбрасывает без разбора на домен.ком..
где накосячил?

K началу

 
Информация о пользователе Erotix


Зарегистрирован: 19.04.03
Сообщения: 956
Ссылка на сообщениеДобавлено: 08/04/04 в 01:38     

ultimate писал:
нужно пришедшие хиты с определенных трейдеров (доменов) редиректить на определенную страницу..
в хтассесе пишу следующее:
-----
RewriteEngine On
RewriteCond %{HTTP_HOST} yahoo\.com [NC]
RewriteRule (.*) http://домен.ком/$1 [R,L]
-----
и нифига блин не выходит =[
все подряд сбрасывает без разбора на домен.ком..
где накосячил?


сравни с правильным :

Цитата:
-----
RewriteEngine On
RewriteCond %{HTTP_HOST} yahoo\.com [NC]
RewriteRule .* http://домен.ком [R,L]
-----

K началу

 
Информация о пользователе ultimate


Зарегистрирован: 17.08.01
Сообщения: 184
Ссылка на сообщениеДобавлено: 08/04/04 в 10:29     

сравнил только что даже на практике.. только вот теперь редирект перестал вообще работать. почему?

K началу

 
Информация о пользователе URRY


Зарегистрирован: 05.01.03
Сообщения: 76
Ссылка на сообщениеДобавлено: 08/04/04 в 11:18     

попробуй так

Код:

RewriteEngine On
RewriteOptions inherit # это вроде не нужно, не помню уже
# list of referer domains redirect from
RewriteCond %{HTTP_REFERER} ^.*domain.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^.*domain.*$ [NC] # last domain in this list (таких списков может быть несколько)
# for referers from list redirect to this domain
RewriteRule ^(.*)$ http://redirect.com/ [R,NC,L]
# all other users redirect to this domain (эту строку использовать необязательно)
RewriteRule ^(.*)$ http://redirect.com/ [R,NC,L]

K началу

 
Информация о пользователе ultimate


Зарегистрирован: 17.08.01
Сообщения: 184
Ссылка на сообщениеДобавлено: 08/04/04 в 11:26     

получил ошибку 500.. буду пинать хостера. доложу о результатах

K началу

 
Информация о пользователе Sexlorum


Зарегистрирован: 15.03.03
Сообщения: 94
Ссылка на сообщениеДобавлено: 08/04/04 в 12:59     

RewriteEngine On
RewriteCond %{HTTP_REFERER} yahoo.com/(.*) [OR]
RewriteCond %{HTTP_REFERER} tyhoo.com/(.*)
RewriteRule ^(.*)$ http://домен.ком/$1 [R,L]

(RewriteRule ^(.*)$ http://домен.ком/?$1 [R,L] - лучше)

а под этим выражением-то что?
http://домен.ком/?yahoo.com/searchcriteria...

K началу

 
Информация о пользователе URRY


Зарегистрирован: 05.01.03
Сообщения: 76
Ссылка на сообщениеДобавлено: 08/04/04 в 14:23     

ultimate писал:
получил ошибку 500.. буду пинать хостера. доложу о результатах
ты б показал в каком виде использовал это дело, возможно, что-то неправильно написал... можешь реальные имена доменов изменить
тот вариант работал 100%... я проверял когда-то

вот для справки еще:
^ - символ начала строки
$ - символ конца строки
.* - любая группа символов (т.е., если указываешь имя домена с зоной, тогда так - ^.*domain.com.*$)

все группы RewriteCond нужно завершать строкой RewriteRule с указанием флага [ L ] (если списков несколько)

K началу

 
Информация о пользователе ultimate


Зарегистрирован: 17.08.01
Сообщения: 184
Ссылка на сообщениеДобавлено: 09/04/04 в 09:56     

2URRY, вобщем то что ты дал - сработало, в .htaccess сейчас следующее:

RewriteEngine On
RewriteCond %{HTTP_REFERER} ^.*cj1.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^.*cj2.*$ [NC]
RewriteRule ^(.*)$ http://домен.ком/$1
---
но почему-то работает только при переходе с домена 3го уровня, т.е. blabla.cj1.com, если захожу на www.cj1.com, оттуда набераю свой урл, то ничего не происходит.. почему?
HTTP_HOST пробовал заменить вместо HTTP_REFERER - безтолку.

K началу

 
Информация о пользователе URRY


Зарегистрирован: 05.01.03
Сообщения: 76
Ссылка на сообщениеДобавлено: 09/04/04 в 18:42     

дело в том, что когда ты заходишь на www.cj1.com и оттуда набираешь свой урл (в адресной строке), то у тебя не передается реферер, чтоб он передался, на сайте www.cj1.com должна быть ссылка на твой урл, при переходе по которой будет редирект...
на blabla.cj1.com ссылка по-видимому есть.

твое правило для редиректа (RewriteRule) ограничено условиями (RewriteCond) в которых сказано, что правило срабатывает только при соблюдении этих условий т.е., если существует реферер (.*cj1.* или .*cj2.*)

для всех остальных рефов и для тех у кого рефов нет, правил никаких не указано, потому и редиректа не происходит
чтобы этих товарищей тоже куда-нибудь отправлять (в др. место), поставь у себя в конце строки с RewriteRule такую штуку - [L] или даже [R,NC,L]
это флаги
---
L - означает, что это последнее правило для указанных условий, все RewriteRule после этого не будут иметь к нему отношения и к набору условий (RewriteCond) также.
NC - говорит о том, что не нужно учитывать регистр символов
R - это редирект, без него происходит только перезапись
---

после этого можешь написать еще один RewriteRule и это правило будет срабатывать для всех (если не указаны ограничивающие условия)

и еще, убери эту конструкцию - $1 в урле куда редиректишь
$1 - это переменная, которая принимает значение в первых указанных круглых скобках, в общем-то их тоже надо убрать, достаточно только ^.*$

--------------------
это интересно icon_smile.gif
--------------------
http://sitemaker.ru/technologies/webserver/mod_rewrite/
http://sitemaker.ru/technologies/webserver/mod_rewrite2/
http://sitemaker.ru/technologies/webserver/mod_rewrite3/
http://sitemaker.ru/technologies/webserver/mod_rewrite4/

http://www.egoroff.spb.ru/portfolio/apache/mod_rewrite.html
http://www.egoroff.spb.ru/portfolio/apache/rewriteguide.html

K началу

 
Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!
Внимание! В связи с устареванием топика эта страница была взята из кэша.

Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »