-
Вебмастеру
(
http://forum.oszone.net/forumdisplay.php?f=22)
Условный редирект в .htaccess
Такой вопрос, как в файле .htaccess сделать перенаправление при переходе на страницу с другого ресурса, а со своего оставить
|
вопрос неполный, но принцип состоит в проверке HTTP_REFERER, который юзер может изменить или отключить... те 100% способа не существует...
Код:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !%{HTTP_HOST}
RewriteRule . http://redirect_url.ru [R]
|
ну вообщем перенаправлять на другую страницу при переходе с другого сайта, а при переходе со страниц этого же сайта пропускать
|
поскольку htaccess обрабатывается при любом запросе в каталог, то нужно разделить запросы на картинки/файлы и странички. Внизу указан список расширений, запросы на которые перенаправляются...
Код:
RewriteEngine on
RewriteCond %{HTTP_REFERER} ^http://
RewriteCond %{HTTP_REFERER} !%{HTTP_HOST}
RewriteRule \.(html?|php|phtml|pl)$ http://redirect_url.ru [R]
|
расширения там добавьте какие нужно через "|" (или удалите лишние)...
|
извиняюсь за назойливость, так будет правильно для моего примера?
Код:
RewriteEngine on
RewriteCond %{HTTP_REFERER} ^http://www.other_site.ru
RewriteCond %{HTTP_REFERER} !%{HTTP_HOST}
RewriteRule \.(rar)$ http://www.site.ru [R]
|
Код:
RewriteEngine on
# проверка наличия заголовка, и что это похоже на УРЛ
# если наличие REFERER обязательно, то 1 строка не нужна
RewriteCond %{HTTP_REFERER} ^http://
# сравнение заголовков
RewriteCond %{HTTP_REFERER} !%{HTTP_HOST}
# в данном случае, если расширение одно, то скобки не нужны
RewriteRule \.rar$ http://www.site.ru [R]
|
спасибо, все гуд
а где можно найти полный фак по этому файлу?
|
Время: 18:50.
© OSzone.net 2001-