Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Форум .::NoWa.cc::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Веб - Программирование

Уважаемые пользователи nowa.cc. Мы работаем для вас более 20 лет и сейчас вынуждены просить о финансовой помощи по оплате за сервер.
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: Z021474945171 Webmoney WME: E159284508897 Webmoney WMUSDT: T206853643180
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!

Ответ
 
Опции темы Опции просмотра Language
Старый 15.02.2011, 20:52   #1
Новичок
 
Пол:Мужской
Регистрация: 06.08.2009
Сообщений: 10
Репутация: 3
По умолчанию mod_rewrite: роботам - все, пользователю - только index!!

Впервые столкнувшись с mod_rewrite несколько дней назад уже запутался...
Задача:
Необходимо, чтобы:
- по любой внешней по отношению к mysite.ru ссылке (например, по ссылке в поисковике), указывающей на любой файл, кроме index, пользователь мог перейти только на index;
- при прямом наборе адреса пользователем на любой файл сайта mysite.ru, переход пользователя мог бы быть только на index;
- переход пользователя по внутренней ссылке, указывающей на любой файл, принадлежащий сайту mysite.ru, не вызывал бы редиректа на index;
- НО, необходимо!, чтобы поисковики могли видеть и индексировать все страницы и файлы сайта mysite.ru.

(сайт лежит в папке основного домена home/mysite).
CMS - отсутствует! Куки могут быть поставлены только в index!

(11.02.2011) придумал вот такой алгоритм, надеюсь корректный:
Код:
IF
     'пользователь'
    AND
     'ссылка не принадлежит mysite.ru'
THEN
    'перенаправить на index.htm'
ELSE
    'разрешить все файлы (только для поисковых роботов)'
Подскажите, плз, как написать такое на языке htaccess.

(13.02.2011) Вот, что получилось наворотить самостоятельно , похожее на мой алгоритм:
Код:
RewriteEngine on
Options +FollowSymlinks
RewriteBase /

#условие "если ссылка не с mysite.ru":
RewriteCond ${HTTP_REFERER} !^www\.mysite\.ru* [NC,C,NS]
#или так?
RewriteCond ${HTTP_REFERER} !^\www.?\mysite\.ru* [NC,C,NS]

#проверка - пользователь или бот (главное - распознать usera): 
RewriteCond %{HTTP_USER_AGENT} ^Mozilla.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Opera.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Firefox.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Safari.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Lynx.* [NC]

#теперь правило - при выполнении условий выше направить на index:
Redirect 303 / http://www.mysite.ru
#или так?
RewriteRule ^(.*)$ index.php/$1 [R,L]
#синтаксис в предыдущем и следующих?
RewriteRule ^(.*)|(.*)\.(.*)$ http://www.mysite.ru/$1 [R=permanent,L]
#или так?
RewriteRule (.*) http://www.mysite.ru/$1 [R=permanent,L]
Поправьте, плз, если что-где не так (там бы еще клиентов, наверное, добавить бы?).

В коде 4 варианта перенаправления - какой оставить, как было бы правильно?.
+ корректность синтаксиса?

Насколько необходимо наличие флагов [C] и [NS] в первом условии?
Наличие флага [L] в конце правила влияет только на текущее правило?
можно ли будет после выполнения этого правила поставить еще правила?
drawline вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама: astra tech implant systemкупить билет на концерт валерии в москвеотрезной минидиск по металлу с хвостовиком 2.35мм.регистрация вк через ватсапбрекеты стоимость в москве цены


Старый 10.03.2011, 19:14   #2
Jekyll
Неактивный пользователь
 
Пол:Мужской
Регистрация: 20.11.2008
Сообщений: 8
Репутация: 1
По умолчанию Re: mod_rewrite: роботам - все, пользователю - только index!!

Это называется клоакинг и лучше так не делать. Вашу хитрость обнаружит первый же "хитробот"
Jekyll вне форума
 
Ответить с цитированием Вверх
Старый 13.03.2011, 19:29   #3
drawline
Новичок
 
Пол:Мужской
Регистрация: 06.08.2009
Сообщений: 10
Репутация: 3
По умолчанию Re: mod_rewrite: роботам - все, пользователю - только index!!

А меня не волнуют "хитроботы"!

Кроме черного клоакинга, есть еще и легальный. Если у меня весь сайт на флэше и нужно только то, чтобы весь флэш работал (корректно) через первую и единственную страницу index.php.
Есть другие варианты такой реализации???
drawline вне форума
 
Ответить с цитированием Вверх
Ответ


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Правило mod_rewrite для перенаправления не работает balmie Настраиваем собственный хостинг 0 02.11.2009 19:32
При использовании mod_rewrite сервер отдает php-код Searching Настраиваем собственный хостинг 3 14.10.2009 00:12

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 23:48. Часовой пояс GMT +3.


Copyright ©2004 - 2026 NoWa.cc

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.06501 секунды с 13 запросами