notes:code
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
notes:code [2010/02/10 13:49] – Page moved from code to notes:code kibi | notes:code [2010/04/24 13:58] (current) – kibi | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Код ====== | ||
+ | ===== Обучить Google Analytics русскоязычным поисковикам ===== | ||
+ | |||
+ | <code javascript> | ||
+ | <script src=" | ||
+ | </ | ||
+ | <script type=" | ||
+ | _uacct = " | ||
+ | _uOsr[34]=" | ||
+ | _uOsr[35]=" | ||
+ | _uOsr[36]=" | ||
+ | _uOsr[37]=" | ||
+ | _uOsr[38]=" | ||
+ | _uOsr[39]=" | ||
+ | _uOsr[40]=" | ||
+ | urchinTracker(); | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== Редирект для всех, кроме поисковиков ===== | ||
+ | |||
+ | **robots.txt** | ||
+ | |||
+ | <code robots> | ||
+ | User-Agent: * | ||
+ | Disallow: /goto/ | ||
+ | </ | ||
+ | |||
+ | **goto/ | ||
+ | |||
+ | <code apache> | ||
+ | <Files ~ " | ||
+ | Order allow,deny | ||
+ | Deny from all | ||
+ | Satisfy All | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | RewriteEngine On | ||
+ | RewriteBase / | ||
+ | RewriteCond %{REQUEST_FILENAME} !-f | ||
+ | RewriteCond %{REQUEST_FILENAME} !-d | ||
+ | RewriteRule . / | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | **goto/ | ||
+ | |||
+ | <code php> | ||
+ | <? | ||
+ | function io_saveFile($file, | ||
+ | |||
+ | $mode = ($append) ? ' | ||
+ | $fileexists = @file_exists($file); | ||
+ | $fh = @fopen($file, | ||
+ | if(!$fh){ | ||
+ | echo " | ||
+ | return false; | ||
+ | } | ||
+ | fwrite($fh, $content); | ||
+ | fclose($fh); | ||
+ | |||
+ | return true; | ||
+ | } | ||
+ | |||
+ | | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ); | ||
+ | |||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | $log = date(' | ||
+ | if (strpos($_SERVER[' | ||
+ | | ||
+ | | ||
+ | } else { | ||
+ | | ||
+ | | ||
+ | }; | ||
+ | ?> | ||
+ | </ | ||
+ | |||
+ | ===== Примеры использования Mod_Rewrite ===== | ||
+ | |||
+ | |||
+ | Посетители веб-сайта авторизуются при помощи стандартной авторизации (AuthType BasicAuth). Необходимо по ссылке / | ||
+ | |||
+ | <code apache> | ||
+ | RewriteEngine on | ||
+ | RewriteCond %{REMOTE _ USER} != "" | ||
+ | RewriteCond / | ||
+ | RewriteRule (.*) /home/%2/$1 | ||
+ | </ | ||
+ | |||
+ | Жесткий запрет посещений нашего веб-сайта для робота поисковой системы Google | ||
+ | |||
+ | <code apache> | ||
+ | RewriteEngine on | ||
+ | |||
+ | RewriteCond %{USER_AGENT} Googlebot | ||
+ | RewriteRule .* - [F] | ||
+ | |||
+ | # Другой вариант возвращает вместо ошибки 403 ( FORBIDDEN ) ошибку 404 ( NOT _ FOUND ) | ||
+ | RewriteCond %{USER_AGENT} Googlebot | ||
+ | RewriteRule .* - [R=404] | ||
+ | </ | ||
+ | |||
+ | Закрыть доступ к веб-сайту в рабочее время | ||
+ | |||
+ | <code apache> | ||
+ | RewriteEngine on | ||
+ | |||
+ | RewriteCond %{TIME_HOUR}%{TIME_MIN} > 900 | ||
+ | RewriteCond %{TIME_HOUR}%{TIME_MIN} < 1800 | ||
+ | RewriteRule .* - [ F ] | ||
+ | </ | ||
+ | |||
+ | Если на вашем сайте есть очень ценные картинки или архивы и вы не хотите чтобы кто-то размещал их (если архивы, | ||
+ | |||
+ | <code apache> | ||
+ | RewriteEngine on | ||
+ | |||
+ | RewriteBase | ||
+ | RewriteCond %{HTTP_REFERER} !^$ | ||
+ | RewriteRule .* - [ F ] | ||
+ | </ | ||
+ | |||
+ | и для определенных типов файлов | ||
+ | |||
+ | <code apache> | ||
+ | RewriteEngine on | ||
+ | |||
+ | RewriteBase | ||
+ | RewriteCond %{HTTP_REFERER} !^$ | ||
+ | RewriteRule \.(jpe? | ||
+ | </ | ||
+ | |||
+ | В связи с неоднозначностью записи расширения HTML файлов (.htm или .html), некоторые пользователи могут ошибочно набрать адрес страницы. Для автоматического исправления такого рода ошибок, | ||
+ | |||
+ | <code apache> | ||
+ | RewriteEngine on | ||
+ | |||
+ | RewriteBase | ||
+ | RewriteRule ^(.*)\.htm$ | ||
+ | </ | ||
+ | |||
+ | Необходимо запрос любой страницы сайта отправлять на одну (будет написано что сайт временно ен доступен), | ||
+ | |||
+ | <code apache> | ||
+ | RewriteEngine on | ||
+ | |||
+ | RewriteBase | ||
+ | RewriteCond %{HTTP_USER_AGENT} !^yandex.* [NC,OR] | ||
+ | RewriteCond %{HTTP_USER_AGENT} !^googlebot.* [NC,OR] | ||
+ | RewriteCond %{HTTP_USER_AGENT} !^gaisbot.* [NC,OR] | ||
+ | RewriteCond %{HTTP_USER_AGENT} !^rambler.* [NC,OR] | ||
+ | RewriteCond %{HTTP_USER_AGENT} !^aport.* [NC,OR] | ||
+ | RewriteCond %{HTTP_USER_AGENT} !^metacrawler.* [NC,OR] | ||
+ | RewriteCond %{HTTP_USER_AGENT} !^msnbot.* [NC,OR] | ||
+ | RewriteCond %{HTTP_USER_AGENT} !^crawler.* [NC,OR] | ||
+ | RewriteRule ^/$ - [L,R] | ||
+ | </ | ||
+ | |||
+ | Перенаправление несуществующих URL на другой веб-сервер | ||
+ | |||
+ | <code apache> | ||
+ | RewriteEngine on | ||
+ | |||
+ | RewriteBase | ||
+ | RewriteCond / | ||
+ | RewriteRule ^(.+) http:// | ||
+ | </ | ||
+ | |||
+ | Проблема здесь в том, что это будет работать только для страниц находяшихся внутри DocumentRoot. Тогда как вы можете добавить больше условий (например ещё и для управления домашними каталогами, | ||
+ | |||
+ | <code apache> | ||
+ | RewriteEngine on | ||
+ | |||
+ | RewriteBase | ||
+ | RewriteCond / | ||
+ | RewriteRule ^(.+) http:// | ||
+ | </ | ||
+ | |||
+ | Сайт перенесен с одного домена на другой с domain.com на domain2.com | ||
+ | |||
+ | <code apache> | ||
+ | RewriteEngine on | ||
+ | |||
+ | RewriteCond %{HTTP_HOST} ^www\.domain\.com$ [R=301,1] | ||
+ | RewriteRule ^(.*)$ http:// | ||
+ | </ | ||
+ | |||
+ | Часто хостинговые провайдеры накладывают ограничение на количество уикальных сайтов, | ||
+ | |||
+ | |||
+ | <code apache> | ||
+ | RewriteEngine on | ||
+ | |||
+ | RewriteCond %{HTTP_HOST} ^forum\.yuordomain\.net$ [NC] | ||
+ | RewriteCond %{REQUEST_URI} !^/forum/$ [NC] | ||
+ | RewriteRule (.*) /forum/$1 [L] | ||
+ | </ |