Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
5). При переходе бесплатного хостинга на платный.
Также есть ещё ряд применений редиректу 301, но пока остановимся на вышесказанном.
Классификация redirect (редиректа)
Как я уже сказал, для общего развития, начинающему вебмастеру нужно знать, что кроме 301 редиректа существуют и другие:

Но наиболее часто используют 301 редирект.
Как сделать 301 redirect (редирект) через файл. htaccess?
Возникает вопрос: а что же такое файл. htaccess? Это файл, в котором будут хранится различные команды 301 редиректа (о переадресации страницы, домена и т. д.).
Для того, чтобы его создать откройте программу FileZilla или Total Commander, выберите любой ненужный Вам файл и переименуйте его с помощью выбранного FTP клиента на. htaccess, всё теперь файл создан. Да, файл. htaccess — это обычный файл с именем. htaccess.
Дело в том, что обычным способом на компьютере его не переименовать, выдаётся ошибка (у меня так), а при помощи вышеперечисленных программ точно можно.
А теперь открываем файл (с помощью текстового редактора) и вписываем необходимый код редиректа.
Если Вы хотите переправить посетителей одного сайта на другой:
Redirect 301 / http://www. домен. com
Redirect 301 — указывает, на то, что сайт перемещён;
«/» — указывает, что всё с верхнего уровня блога будет перемещено (переадресовано) на новый домен.
Например, если Вы хотите с одной страницы сайта сделать перенаправление на другую страницу сайта, то в файл. htaccess нужно вставить следующий код:
Redirect 301 /старая-страница. html http://новый-домен. ru/новая-страница. html
или
Redirect permanent /старая-страница. html http://новый-домен. ru/новая-страница. html
или
RedirectPermanent /старая-страница. html http://новый-домен. ru/новая-страница. html
Редирект с помощью директивы RedirectMatch
Этот редирект практически тот же, что и предыдущий, но здесь Вы можете задать регулярное выражение для старых УРЛ-адресов, например, при смене CMS с PHP на ASP, код редиректа будет выглядеть так:
RedirectMatch /(.*)\.php$ /$1.aspx
Редирект 301 с домена с www на домен без www
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www. site. ru
RewriteRule ^(.*)$ http://site. ru/$1 [R=301,L]
Редирект 301 с домена без www на домен с www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^site. ru
RewriteRule (.*) http://www. site. ru/$1 [R=301,L]
RewriteEngine on|off - это специальная директива, которая служит для отключения или включения доступа к коду файла. htaccess, доступ осуществляется через модуль хостинга mod_rewrite;
RewriteCond - это специальная директива, которая определяет условия для правил преобразований. Является директивой модуля хостинга mod_rewrite;
RewriteRule - это директива, которая отвечает за различные преобразования. В данном случае редирект 301.
Сначала информация о странице поступает в директиву RewriteCond, после чего эта информация преобразовывается в директиву RewriteRule. Вот так работает вышеприведённый код, если вкратце.
301 редирект
- Это наверно знают все – 301 редирект, чтобы не создавать дубли страниц и путаницу с www. Ниже приведенный код делает переадресацию с www на без www.
1 2 3 4 | Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} ^www. vityok\.su$ [NC] RewriteRule ^(.*)$ http:///$1 [R=301,L] |
- Этот трюк позволяет бороться с хотлинкингом. Если какие-то ГС будут парсить ваш контент, то ссылки с изображений на их сайте будут вести на ваш проект, что создаст дополнительную нагрузку на хостинг. Этот код в таких случах будет выдавать ошибку вместо изображений на тех самых ГС.
1 2 3 4 5 6 7 8 9 10 | RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yandex\.ru/.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://(.+\.)?undsoft\.com/.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yandex\.net/.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://(.+\.)?feedburner\.com/.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mail\.ru/.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://(.+\.)?poisk\.ru/.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://(.+\.)?vityok\.su/.*$ [NC] RewriteCond %{HTTP_REFERER} !^$ [NC] RewriteRule.*\.(jpe? g|gif|bmp|png)$ stophotlinking. gif [L] |
- Кеширование файлов изображений, css, js в браузерах пользвателей, что позволяет снизить нагрузку на хостинг.
1 2 3 4 5 6 7 | FileETag MTime Size <ifmodule mod_expires. c> <filesmatch ".(jpg|gif|png|css|js)$"> ExpiresActive on ExpiresDefault "access plus 1 year" </filesmatch> </ifmodule> |
- Автоматическое сжатие файлов, перед тем как они будут загружены в браузер пользователя. Также понижает нагрузку.
1 2 3 4 5 6 7 8 | mod_gzip_on Yes mod_gzip_dechunk Yes mod_gzip_item_include file \.(html?|txt|css|js|php)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude mime ^image/.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* |
- При переходе на какую-то версию WordPress столкнулся с проблемой, что на всех проектах не мог загрузить картинки через Flash-загрузчик. Проблему решил следующим кодом, который сейчас автоматически прописываю в htaccess, даже для новых проектов.
1 2 3 4 5 6 | <IfModule mod_security. c> <Files async-upload. php> SecFilterEngine Off SecFilterScanPOST Off </Files> </IfModule> |
- Запрет на просмотр директорий пользователями.
1 | Options All - Indexes |
ИНДЕКСНЫЕ СТРАНИЦЫ
Когда пользователь заходит на хост например http://gentoo. org принято, что открывается индексный файл index.* при его отсутствии - либо содержимое каталога, либо ошибку 403 (FORBIDDEN) если опция отключена - запрещен просмотр директорий.
За листинг файлов отвечает директива Indexes (показывать посетителю список файлов, если в выбранном каталоге нет файла index. html или его аналога).
Иногда нужно сделать так, чтобы в случае отсутствия в каталоге файла, который показывается по умолчанию, листинг, то есть список файлов в каталоге, не выдавался. В этом случае добавим в. htaccess такую строчку:
# Запрет выдачи листинга пустого каталога Options - Indexes |
А чтобы выдавал листинг, нужно:
Options Indexes |
Если же понадобиться разрешить просматривать список файлов, но чтобы при этом чаcть файлов определенного формата не отображалась, то запишем:.
IndexIgnore *.php* *.pl |
Выдает листинг каталога, т. е. его содержание со всем содержанием, за исключением файлов-скриптов PHP и Perl.
Если ваш веб-сайт построен на скриптах, то в качестве индексных часто могут использоваться файлы с другими расширениями - указать эти файлы можно с помощью директивы DirectoryIndex.
DirectoryIndex index. html index. shtml index. pl index. cgi index. php |
Если же вы хотите что бы при обращении к каталогу открывался не index. html, а например, файл htaccess. php или /cgi-bin/index. pl:
DirectoryIndex htaccess. php /cgi-bin/index. pl |
В ходе работы сервера иногда возникают ошибки, скорее это будет правильней назвать не сбоями в работе сервера, а стандартными кодами возврата оговоренными в стандарте HTTP_RFC2616. Вообще, в RFC ошибки называются "Status Codes", но мы их будем называть именно ошибками - так привычнее.
Код возврата - это трехзначное число, на основании которого можно судить о том, насколько успешно был обработан запрос. Код возврата начинающиеся на 1,2,3 считаются успешными, остальные причисляются к разряду ошибок.
Вот список ошибок 4xx и 5xx : 400 - Bad Request 401 - Unauthorized 402 - Payment Required 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 406 - Not Acceptable 407 - Proxy Authentication Required 408 - Request Time-out 409 - Conflict 410 - Gone 411 - Length Required 412 - Precondition Failed 413 - Request Entity Too Large 414 - Request-URI Too Large 415 - Unsupported Media Type 500 - Internal Server Error 501 - Not Implemented 502 - Bad Gateway 503 - Service Unavailable 504 - Gateway Time-out 505 - HTTP Version not supported |
При возникновении ошибки 4xx или 5xx посетитель Вашего сайта увидит в браузере сообщение от сервера, которое вряд ли можно назвать предельно понятным рядовому пользователю. Apache предоставляет возможность выдать вместо аскетичного технического текста, не изобилующего деталями, свою страницу, где Вы можете человеческим языком объяснить пользователю, что произошло и что делать.
Пример переопределения страниц ошибок приведен ниже:
# содержание файла. htaccess: ErrorDocument 404 http://bg10.ru/error/404.htm ErrorDocument 403 http://bg10.ru/error/403.htm ErrorDocument 400 http://bg10.ru/error/400.htm ErrorDocument 500 http://bg10.ru/error/500.htm # в случае ошибки "FORBIDDEN" показывается текстовое сообщение, которое # обязательно должно начинаться с кавычки, кавычка в сообщении не выводится: ErrorDocument 403 "Sorry can't allow you access today, 403 Status Codes Apache" |
Более подробно об обработке ошибок можно прочитать в документации по Apache на странице "Custom error responses".
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 |


