spin5
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Своего случая не нашел, и вообще уже запутался... (с mod_rewrite столкнулся совсем недавно). Необходимо, чтобы: - по любой внешней по отношению к mysite.ru ссылке (например, по ссылке в поисковике), указывающей на любой файл, кроме index, пользователь мог перейти только на index; - при прямом наборе адреса пользователем на любой файл сайта mysite.ru, переход пользователя мог бы быть только на index; - переход пользователя по внутренней ссылке, указывающей на любой файл, принадлежащий сайту mysite.ru, не вызывал бы редиректа на index; - НО, необходимо, чтобы поисковики могли видеть и индексировать все страницы и файлы сайта mysite.ru. (12.02.2011) придумал вот такой алгоритм, надеюсь корректный: Код: ---------------- IF 'пользователь' AND 'ссылка не принадлежит mysite.ru' TO 'перенаправить на index.htm' ELSE 'разрешить все файлы (только для поисковых роботов)' ---------------- | можно ли будет после выполнения этого условия поставить условие для запрета mail-ботов? ...и не только? Подскажите, плз, как написать такое на языке htaccess. (13.02.2011) Вот, что получилось наворотить самостоятельно (так никто и не помог ), похожее на мой алгоритм: Код: RewriteEngine on Options +FollowSymlinks RewriteBase / RewriteCond ${HTTP_REFERER} !^www\.mysite\.ru* [NC,C,NS] #или так? RewriteCond ${HTTP_REFERER} !^\www.?\mysite\.ru* [NC,C,NS] RewriteCond %{HTTP_USER_AGENT} ^Mozilla.* [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Lynx.* [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] 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 варианта перенаправления - какой оставить, как было бы правильно?. + корректность синтаксиса? | Всего записей: 65 | Зарегистр. 11-01-2008 | Отправлено: 22:45 09-02-2011 | Исправлено: spin5, 18:33 13-02-2011 |
|