Бресту 1000 лет
Программы
Музыка
Игры
Заработок и Раскрутка
GPS навигация
» » Настройка .HTACCESS - редирект, хаки, сниппеты...
Информация к новости
  • Просмотров: 1 893
  • Автор: hazardcd
  • Дата: 20-04-2019, 19:53
Изменил: hazardcd
Причина: Обновлен редирект на протокол https
  • Не нравится
  • +3
  • Нравится
20-04-2019, 19:53

Настройка .HTACCESS - редирект, хаки, сниппеты...

Категория: Вебмастер / Раскрутка и Продвижение сайтов / Оптимизация сайтов

Редирект 301 - зачем он нужен? В процессе продвижения сайта может возникнуть ситуация, когда необходимо изменить url страницы. Причины тому могут быть разные: переезд на новый домен, склейка дублей страниц, или даже, не к ночи будут помянуты, санкции поисковых систем. Чтобы изменить url, используется перенаправление, правильно называющееся «301 Permanent Redirect».

301 redirect действует на постоянной основе,  передает со старой страницы на новую ссылочный вес, ТИЦ сайта и PR. Также, если сайт находится в каталоге Яндекс или DMOZ, страниц нового сайта в нем, разумеется, не будет. Помимо этого, используется 301 редирект на другой сайт, и перенаправление с одной версии сайта на другую. В частности так избавляются от проблем при индексации, возникающих из-за дублирования страниц сайта.

Избавление от дублей страниц также называют канонизацией.

При использовании некоторых CMS (систем управления контентом, или «движков» сайта) редирект можно настроить при помощи специальных плагинов. Однако более распространена практика настройки 301 редиректа посредством внесения изменений в файл .htaссess.

Несколько примеров использования 301 редиректа

CКЛЕИВАНИЯ ЗЕРКАЛ САЙТА

Для поисковой системы site.name и www.site.name – разные сайты. Один из них будет проиндексирован, второй же окажется дублем. Чтобы подобного не произошло, делают так называемое «склеивание» сайта. С сайта с «www» указывается перенаправление на сайт без «www». Это делается в файле .htaccess, с помощью следующей конструкции:

RewriteEngine On
	RewriteCond %{HTTP_HOST} ^www.vash-sait\.ru$ [NC]
	RewriteRule ^(.*)$ http://vash-sait.ru/$1 [R=301,L] 

Если на начальном этапе этого не было сделано, и в индекс попала версия сайта с «www», стоит сделать обратное перенаправление.

RewriteEngine On
	RewriteCond %{HTTP_HOST} ^vash-sait\.ru$ [NC]
	RewriteRule ^(.*)$ http://www.vash-sait.ru/$1 [R=301,L]

ПЕРЕНАПРАВЛЕНИЕ НА СТРАНИЦУ С ДРУГИМ URL

При использовании ЧПУ ссылок иногда возникает ситуация, когда url необходимо изменить, но исходная страница уже находится в индексе. Чтобы не потерять позиции и вес при изменении ссылки, стоит установить перенаправление с исходной ссылки с на измененную.

RewriteEngine On
	RewriteRule ^(.*)url.html$ http://vash-sait.ru/new-url.html [R=301,L]

ПЕРЕНАПРАВЛЕНИЕ НА ДРУГОЙ ДОМЕН

В ситуации, когда необходимо сменить домен, это можно сделать без потерь позиций и веса. Для этого нужно установить 301 редирект со старого домена на новый.

RewriteEngine on
	RewriteCond %{HTTP_HOST} ^www\.staryy-sait\.ru$ [NC]
	RewriteRule ^(.*)$ http://novyy-sait.ru/$1 [L,R=301]
	RewriteCond %{HTTP_HOST} ^staryy-sait\.ru$ [NC]
	RewriteRule ^(.*)$ http://novyy-sait.ru/$1 [L,R=301]

РЕДИРЕКТ АЛИАСОВ НА ОСНОВНОЙ ДОМЕН САЙТА

Если для сайта используется несколько доменов (алиасов), зарегистрированных в разных доменных зонах, то во избежание дублирования контента, нужно установить 301 редирект на  основной домен.

RewriteEngine On
	RewriteCond %{HTTP_HOST} ^vash-sait.com$ [OR,NC]
	RewriteCond %{HTTP_HOST} ^www.vash-sait.com$ [NC]
	RewriteCond %{REQUEST_URI} !^/robots.*
	RewriteRule ^(.*)$ http://vash-sait.ru/$1 [R=301,L]

УБИРАЕМ РАСШИРЕНИЕ С ПОМОЩЬЮ 301 РЕДИРЕКТА

Страницы, доступные по ссылкам с разными расширениями также признаются дублями. К примеру, есть страницы, с расширением .html и без него. Если вам нужно убрать его:

RewriteEngine
	 onRewriteRule ^(([^/]+/)*[^.]+)$ /$1.html [L]

ПЕРЕНАПРАВЛЕНИЕ С INDEX.PHP НА ГЛАВНУЮ

В некоторых случаях, главная страница сайта доступна по нескольким адресам одновременно. Это также негативно сказывается на продвижении, так как говорит о дублировании контента. Избавиться от этого можно, применив следующую конструкцию:

RewriteEngine On
	RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
	RewriteRule ^index\.php$ http://vash-sait.ru/ [R=301,L]

Страницы, в url которых встречается слеш, и страницы, в которых этого символа нет, также могут быть признаны дублями. Следующим кодом  устанавливается перенаправление со страниц без слэша на страницы со слэшем:

RewriteCond %{REQUEST_FILENAME} !-d 
	RewriteCond %{REQUEST_URI} ^(.+)/$ 
	RewriteRule ^(.+)/$  /$1 [R=301,L]

РЕДИРЕКТ ДЛЯ URL С ПАРАМЕТРАМИ

Если исходный адрес содержит какой-либо параметр (например, http://vash-sait.ru/articles.php?section=1. Параметр здесь "section=1" ), то перенаправляющая конструкция будет иметь следующий вид:

RewriteEngine On
	RewriteCond %{QUERY_STRING} section=1
	RewriteRule ^index.php http://vash-sait.ru/articles.php? [R=301,L]


ПОЛЕЗНЫЕ ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ .HTACCESS


УПРАВЛЕНИЕ ДОСТУПОМ К ФАЙЛАМ И КАТАЛОГАМ

Защита паролем — это одно, но иногда может понадобиться полностью блокировать доступ пользователей к определенному файлу или папке. Обычно это относится к системным папкам, таким, например, как includes, доступ к которым должны иметь приложения, но не пользователи.
Чтобы сделать это, поместите данный код в файл. htaccess и сохраните его в каталоге к которому закрываете доступ:

deny from all

Однако учитывайте, что доступ будет блокирован для всех пользователей, включая и вас.

Открыть доступ для конкретного пользователя можно прописав его IP-адрес:

order deny,allow 
deny from all 
allow from xxx.xxx.xxx.xxx

где xxx. xxx. xxx. xxx — это ваш IP.

Для задания разрешенных диапазонов IP-адресов вы можете заменить три последние цифры. Например, написав вместо них «0/12», вы зададите диапазон IP-адресов одной сети, что избавит вас от необходимости вводить в список все разрешенные IP-адреса отдельно.

Если вы хотите заблокировать доступ к определенному файлу, включая сам .htaccess, используйте следующий фрагмент кода:

<Files .htaccess>
 order allow,deny
 deny from all
</Files>

Если вы хотите указать определенные IP-адреса которым надо запретить доступ, перечислите их при помощи allow from.

Если же вы хотите заблокировать доступ к файлам определенного типа, используйте код:

<FilesMatch ".(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$">
 Order Allow,Deny
 Deny from all
</FilesMatch>

ЗАПРЕТ НА ПРОСМОТР ДИРЕКТОРИЙ

Предотвращение просмотра директорий сайта:

Options All -Indexes

Если же по какой-то причине требуется разрешить просмотр всех директорий, используйте код:

Options All +Indexes

УСКОРЕНИЕ ВРЕМЕНИ ЗАГРУЗКИ ЗА СЧЕТ СЖАТИЯ ФАЙЛОВ

Можно сжимать файлы любого типа. Например, для сжатия HTML-файлов добавьте код:

AddOutputFilterByType DEFLATE text/html

Для сжатия текстовых файлов используйте:

AddOutputFilterByType DEFLATE text/plain

Вы также можете сжать jаvascript или включить сжатие для других различных типов файлов командами:

AddOutputFilterByType DEFLATE application/jаvascript
AddOutputFilterByType DEFLATE application/rss+xml

Сжатие всех jаvascript, HTML и CSS файлов при помощи GZIP:

<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$ 
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text\.*
mod_gzip_item_include mime ^application/x-jаvascript.*
mod_gzip_item_exclude mime ^image\.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* 
</IfModule>

ЗАЩИТА САЙТА ОТ ВСТАВКИ ИЗОБРАЖЕНИЙ С ДРУГИХ РЕСУРСОВ

Запретить добавление ссылок на изображения со сторонних ресурсов:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]

Не забудьте заменить yourdomain.com на имя вашего домена.

БЛОКИРОВКА ПОСЕТИТЕЛЕЙ, ПЕРЕШЕДШИХ С ОПРЕДЕЛЕННОГО ДОМЕНА

Если вы не хотите видеть на своем сайте пользователей с конкретного домена, то вы можете запретить им доступ.

Например, пользователей с нежелательных ресурсов (сайты для взрослых, хакерские сайты и т. д.) вы можете перенаправлять на страницу 403 Forbidden. Для этого необходимо включить mod_rewrite, хотя, как правило, он включен по умолчанию.

Добавьте в .htaccess код:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} bannedurl1.com [NC,OR]
RewriteCond %{HTTP_REFERER} bannedurl2.com [NC,OR]
RewriteRule .* - [F]
</ifModule>

Здесь необходимо заменить bannedurl1.com и bannedurl2.com доменами, которые вы хотите внести в черный список. Вы можете использовать флаг [NC], указывающий, что введенное доменное имя нечувствительно к регистру. Флаг [F] указывает на тип действия, в данном случае — отображение ошибки 403 Forbidden. Если вы хотите запретить несколько сайтов, используйте флаги [NC, OR] для каждого домена, если же вы хотите запретить использование одного домена — используйте только флаг [NC].

БЛОКИРОВКА ЗАПРОСОВ ОТ ОПРЕДЕЛЕННЫХ БРАУЗЕРОВ

Если в ваших файлах журналов появились записи о посещении особых браузеров (это могут быть имитирующие работу браузера боты или пауки), вы можете запретить им доступ на свой сайт, добавив несколько строк в .htaccess:

RewriteEngine On 
RewriteBase / 
SetEnvIfNoCase Referer "^$" bad_user
SetEnvIfNoCase User-Agent "^badbot1" bad_user
SetEnvIfNoCase User-Agent "^badbot2" bad_user
SetEnvIfNoCase User-Agent "^badbot3" bad_user
Deny from env=bad_user

Замените badbot1, badbot1 и т. д. именами ботов из вашего журнала. Это закроет посторонним программам доступ к вашему сайту.

КЭШИРОВАНИЕ ФАЙЛОВ

Кэширование файлов — это один из способов ускорить загрузку сайта. Вот что нужно прописать в .htaccess:

<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>

Можно добавить больше типов файлов или удалить некоторые из перечисленных в данном примере. Также можете указать время сохранения файлов в кэше (в секундах) при помощи переменной max-age.

ОТКЛЮЧЕНИЕ КЭШИРОВАНИЯ ДЛЯ РАЗНЫХ ТИПОВ ФАЙЛОВ

Если вы не хотите кэшировать определенные типы файлов, можно не включать их в список. Однако иногда файлы могут сохраняться в кэше даже не будучи явно перечисленными в списке, в этом случае вы можете отключить кэширование для них индивидуально. Чаще всего отключать кэширование требуется для динамических файлов, таких как сценарии. Пример требуемого для этого кода:

<FilesMatch ".(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>

Просто укажите типы файлов, для которых нужно отключить кэширование.

ОБХОД ДИАЛОГА ЗАГРУЗКИ

По умолчанию при попытке загрузить файл с веб-сервера отображается диалог, который спрашивает вас, хотите ли вы сохранить файл или открыть его. Этот диалог особенно раздражает при скачивании больших медиа- или PDF-файлов. Если файлы, которые вы загрузили на сервер, предназначены исключительно для скачивания, вы можете облегчить жизнь пользователей, установив загрузку действием по умолчанию:

AddType application/octet-stream .pdf
AddType application/octet-stream .zip
AddType application/octet-stream .mp3

ПЕРЕИМЕНОВАНИЕ ФАЙЛА .HTACCESS

Если по каким-то причинам необходимо переименовать файл .htaccess, то вы можете это сделать. Теоретически, переименование файла .htaccess не должно вызывать проблем с приложениями, запущенными на вашем сервере, но если вы заметите появление ошибок выполнения сценариев после переименования файла, то просто переименуйте его обратно.

AccessFileName htac.cess

Кроме того, необходимо обновить все записи, в которых упоминается файл .htaccess, иначе возникнет множество ошибок.

ЗАМЕНА СТАРТОВОЙ СТРАНИЦЫ САЙТА

Если вы хотите установить главную страницу, отличную от стандартной (index.html, index.php, index.htm и т. д.), добавьте следующий код в файл .htaccess:

DirectoryIndex mypage.html

Замените mypage.html на URL страницы, которую вы хотите использовать в качестве главной.

Ограничение максимального размера загружаемых файлов в PHP, максимального размера передаваемых данных, максимального времени выполнения скриптов ...

.htaccess позволяет устанавливать некоторые значения, непосредственно влияющие на работу PHP приложений.

Установить в PHP ограничение на размер загружаемых файлов, чтобы не забивать хостинг большими файлами:

php_value upload_max_filesize 15M

Вы можете установить любое значение, в примере размер файла ограничен 15M (MБ).

Ограничить максимальный размер передаваемых при загрузке в PHP данных:

php_value post_max_size 10M

Вы можете заменить 10М на любое требуемое вам значение.

Если не требуется постоянное выполнение скриптов, можно ограничить время их выполнения с помощью строки:

php_value max_execution_time 240

240 — время выполнения (в секундах), после которого скрипт будет остановлен.

Ограничить время анализа скриптом исходных данных:

php_value max_input_time 180

Установите вместо 180 любое требуемое вам время (в секундах).

СКРЫТИЕ ТИПОВ ФАЙЛОВ

Иногда нужно, чтобы пользователи не знали, какие типы файлов находятся на вашем сайте. Один из способов скрыть эту информацию — сделать так, чтобы все ваши файлы отображались как HTML или PHP файлы:

ForceType application/x-httpd-php
ForceType application/x-httpd-php

или

AddType application/x-httpd-php .htm .html


ПЕРЕНАПРАВЛЕНИЕ НА ЗАЩИЩЕННОЕ СОЕДИНЕНИЕ HTTPS

Нет какого-то универсального синтаксиса для написание перенаправления, так как настройки хостинга могут быть разные. и нужно пробовать разные варианты, что бы найти тот, который сработает на вашем хостинге.

Если вы не хотите экспериментировать с различными способами перенаправления, то лучше всего будет обратиться в техподдержку вашего хостинга и уточнить как лучше всего настроить редирект с HTTP на HTTPS.

Итак, если Вы решились на эксперимент, то добавьте в файл .htaccess один из вариантов, указанных ниже. После установки строк сохраните файл.

Для проверки редиректа перейдите на онлайн-сервис Redirect-Checker. В поле для ввода указать адрес, с которого должно осуществляться перенаправление в формате http://имя-сайта.ру и нажмите на кнопку Analyse. После анализа ниже в разделе Result Вы увидите результаты анализа, если редирект прошел правильно, то должен быть указать редирект 301. Если указан 302 или другие данные, значит надо пробовать другой вариант.

Здесь же можное проверить правильность выполнения редиректа для конкретной поисковой системы. Для этого, перед нажатием на кнопку Analyse, нужно выбрать из выпадающего списка в разделе Set User-Agent название нужного поискового робота.

(1)

RewriteCond %{HTTPS} =off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

(2)

RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

(3)

RewriteCond %{ENV:HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

(4)

RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

(5)

RewriteCond %{HTTP:CF-Visitor} '"scheme":"http"'
RewriteRule ^(.*)$ https://www.site.ru/$1 [L]

(6)

RewriteCond %{HTTP:X-Forwarded-Protocol} !=https
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

(7)

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

(8)

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]


Это лишь часть того, что может .htaccess, а вообще он позволяет сделать гораздо больше. Например, вы можете установить автоматический перевод страниц вашего сайта, установить часовой пояс сервера, удалить WWW из URL-адресов или использовать причудливые представления каталогов и т.д. Но в любом случае, прежде чем начинать эксперименты с файлом .htaccess, всегда сохраняйте резервную копию оригинального .htaccess, чтобы при возникновении проблем можно было быстро восстановить работу сайта.

Стоит ли использовать 301 редирект при санкциях поисковых систем

Бытует распространенное мнение, что при попадании сайта под санкции или, как их еще называют, фильтры поисковых систем, для выхода из-под них достаточно перенести сайт на другой домен, и настроить 301 редирект. К сожалению, это не совсем так. Когда-то перенаправление на новый домен действительно помогало спастись от фильтров. Однако уже при следующем обновлении алгоритмов это было учтено. Сайт действительно уходит из-под фильтра, но только на период одного-двух обновлений. В дальнейшем санкции, наложенные на сайт на старом домене, обязательно передадутся и новому, если не будет предпринято никаких мер.  

Перенаправление с помощью 301 редиректа действенный, удобный и полезный инструмент при оптимизации сайта и устранении недоработок и ошибок на сайте. Тем не менее, использовать его нужно аккуратно. В том случае, если вы не вполне осознаете, какие последствия может понести за собой использование редиректа, для работ над сайтом лучше привлечь специалистов.

Метки к статье: 301 редирект хаки сниппеты

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
HTML-cсылка:
BB-cсылка:
Прямая ссылка:

Добавление комментария

Имя:*
E-Mail:
Комментарий:
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent
Подтвердите что вы не робот: *

cuys
^
 
Рейтинг@Mail.ru Push 2 Check Web100kz.com - каталог сайтов Траст. Анализ сайта hi-cd.ru Goon Каталог сайтов Positive SSL