Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Условный редирект в .htaccess (http://forum.oszone.net/showthread.php?t=142979)

lexast 18-06-2009 22:41 1146316

Условный редирект в .htaccess
 
Такой вопрос, как в файле .htaccess сделать перенаправление при переходе на страницу с другого ресурса, а со своего оставить

Sham 19-06-2009 01:26 1146428

вопрос неполный, но принцип состоит в проверке HTTP_REFERER, который юзер может изменить или отключить... те 100% способа не существует...

Код:

RewriteEngine on

RewriteCond %{HTTP_REFERER} !%{HTTP_HOST}
RewriteRule . http://redirect_url.ru [R]


lexast 19-06-2009 01:44 1146431

ну вообщем перенаправлять на другую страницу при переходе с другого сайта, а при переходе со страниц этого же сайта пропускать

Sham 19-06-2009 03:03 1146441

поскольку htaccess обрабатывается при любом запросе в каталог, то нужно разделить запросы на картинки/файлы и странички. Внизу указан список расширений, запросы на которые перенаправляются...

Код:

RewriteEngine on

RewriteCond %{HTTP_REFERER} ^http://
RewriteCond %{HTTP_REFERER} !%{HTTP_HOST}
RewriteRule \.(html?|php|phtml|pl)$ http://redirect_url.ru [R]


lexast 19-06-2009 18:22 1146976

попробую на примере:
тоесть есть сайт www.site.ru , есть файл www.site.ru/file.rar, при обращении к этому файлу со страницы www.site.ru/страница.html редирект не нужен а скажем с сайта www.other_site.ru нужен редирект на страницу www.site.ru, тут конкретно с одного сервера редирект нужен а с остальных нет, а еще как вариант что редирект нужен при обращении к файлу со всех сайтов кроме своего

Sham 19-06-2009 18:51 1147000

расширения там добавьте какие нужно через "|" (или удалите лишние)...

lexast 19-06-2009 21:21 1147147

извиняюсь за назойливость, так будет правильно для моего примера?


Код:

RewriteEngine on

RewriteCond %{HTTP_REFERER} ^http://www.other_site.ru
RewriteCond %{HTTP_REFERER} !%{HTTP_HOST}
RewriteRule \.(rar)$ http://www.site.ru [R]


Sham 19-06-2009 21:34 1147158

Код:

RewriteEngine on

# проверка наличия заголовка, и что это похоже на УРЛ
# если наличие REFERER обязательно, то 1 строка не нужна
RewriteCond %{HTTP_REFERER} ^http://
# сравнение заголовков
RewriteCond %{HTTP_REFERER} !%{HTTP_HOST}
# в данном случае, если расширение одно, то скобки не нужны
RewriteRule \.rar$ http://www.site.ru [R]


lexast 21-06-2009 18:50 1148287

спасибо, все гуд
а где можно найти полный фак по этому файлу?

proxy 21-06-2009 19:07 1148303

можно тут
или тут
или еще тут
и т.д. :smirk:


Время: 18:50.

Время: 18:50.
© OSzone.net 2001-