Это официальная копия и вставка прямо здесь. Просто хватай, глотай и иди. Конечно, есть еще несколько деталей для тех, кто может быть незнаком с процессом. Давайте рассмотрим все кровавые подробности.
Перенаправление трафика с помощью HTAccess
Чтобы перенаправить посетителей на страницу обслуживания, поместите предыдущий код в файл HTAccess, расположенный в корневом каталоге вашего сайта. Это гарантирует, что все страницы и ресурсы, содержащиеся в вашем домене, будут перенаправлены для посетителей. Таким образом, если вы хотите перенаправлять только запросы для определенного подкаталога в вашем домене, .
htaccess
файл, содержащий эти правила, будет помещен в этот каталог (вместо корня).
Теперь, когда HTAccess установлен, вам нужно создать и загрузить страницу обслуживания с именем « Maintenance. html
» в корневой каталог вашего сайта. Этот файл может быть чем угодно, и его не нужно писать в HTML. Вы можете использовать, скажем, PHP, чтобы сделать все это динамическим, но не забудьте изменить два экземпляра имени файла в коде HTAccess, чтобы они соответствовали фактическому имени вашего файла.
Объяснение кода
- Первая строка представляет собой просто комментарий, поясняющий назначение кода. Он не обрабатывается сервером.
- Вторая строка включает механизм перезаписи Apache,
mod_rewrite
. В зависимости от настроек вашего сервера эта строка может быть ненужной. - Третья строка проверяет, исходит ли запрос с вашего компьютера. Если он есть, то редирект не происходит. Чтобы это работало, вам нужно изменить числа в этой строке, чтобы они соответствовали вашему собственному IP-адресу.
- Четвертая строка предотвращает сценарий бесконечного цикла, проверяя запрос на соответствие имени вашей страницы обслуживания.
- Пятая и последняя строка содержит действие. По сути, он перенаправляет все запросы, удовлетворяющие обоим предыдущим условиям перезаписи, на указанную страницу обслуживания. Apache не позволяет нам использовать коды ответа уровня
500
, поэтому мы застряли со следующей лучшей вещью, 9123\.456\.789\.000 RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC] RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC] RewriteRule .* /maintenance.html [R=302,L]С помощью этого метода отредактируйте каждый IP-адрес, чтобы он соответствовал вашему собственному, и добавьте/удалите столько IP-адресов, сколько необходимо. Второй способ не менее эффективен и выглядит так:
Порядок Запретить, Разрешить Запретить от всех Разрешить от 123.456.789.000 Разрешить от 123.456.789.000 Ограничение> Документ об ошибке 403 /maintenance.html <Файлы обслуживания. html> Заказать Разрешить, Запретить Разрешить от всех файлы> Этот метод немного проще, но не так хорош для SEO если поисковые системы посещают сайт в режиме обслуживания. Первый метод отправляет код состояния
302 — Временно перемещен
, а второй отправляет менее точный код состояния403 — Запрещено
. Тем не менее, если вы выберете метод № 2, измените IP-адреса на свои собственные, добавив или удалив новые строки по мере необходимости для доступа к сайту.Это как ящик Пандоры..
При работе с технологиями HTAccess сложно писать короткие и приятные сообщения. там всего так много чего можно с ним сделать. Например, мы можем защитить паролем htaccess, разрешить доступ нескольким посетителям, запросить определенные перенаправления и многое другое. Но я воздержался от усложнения, чтобы этот пост был сфокусирован и соответствовал теме. Тем не менее, всегда есть возможности для улучшения, поэтому, если вы видите что-то, что могло бы сделать эту простую технику HTAccess-redirect еще лучше, поделитесь ею в комментариях. Спасибо!
Дополнительная литература
- Разрешить доступ к внешним IP-адресам во время разработки
- Режим обслуживания через .htaccess
- Временное перенаправление сайта для посетителей во время обновления сайта
mod_rewrite советы по перенаправлению хитрости
Об авторе
Джефф Старр = веб-разработчик. Автор книги. Тайно важно.
USP Pro: неограниченное количество интерфейсных форм для пользовательских сообщений и многое другое.
Типы редиректов. Htaccess Redirect Советы и рекомендации
By Jithin, 28 октября 2016 г.
301 Перенаправление
Это постоянное перенаправление, которое используется для указания поисковым системам, что исходный URL-адрес навсегда перемещен на новый URL-адрес. 301 относится к коду состояния HTTP для этого типа перенаправления, и это лучший метод для реализации перенаправления на веб-сайте. Он действует как наиболее эффективный и удобный для поисковых систем метод перенаправления веб-страниц.
Перенаправление на www с помощью перенаправления htaccess 9(.*)$ http://www.domain.com/$1 [r=301,nc]
Замените domain.com своим доменным именем.
301 редиректы можно использовать в следующих случаях
1) Переместить сайт на новый домен и сделать переход максимально плавным.
2) Объединение двух веб-сайтов и необходимость убедиться, что ссылки на устаревшие URL-адреса перенаправляются на правильные страницы.
3) Люди получают доступ к вашему сайту через несколько разных URL-адресов.
302 перенаправление
302 перенаправление является временным перенаправлением. Это полезно для целей SEO, когда у вас есть временная целевая страница и вы планируете вернуться к основной целевой странице позже.
302 перенаправления могут использоваться в следующих случаях
1) A/B-тестирование веб-страницы на функциональность или дизайн.
2) Получение отзывов клиентов о новой странице без влияния на рейтинг сайта.
3) Обновление веб-страницы с одновременным предоставлением зрителям единообразного опыта. 9(.*)$ http://test.example.com/ [L,R=302]
303 Перенаправление
303 перенаправление использует метод GET для извлечения. По сути, это говорит серверу использовать определенный метод для получения информации с сервера. 303 перенаправление использовалось для предотвращения повторной отправки формы после запроса HTTP Post. С перенаправлением 303, если кто-то добавляет страницу в закладки, он отправит их на страницу, которая говорит что-то вроде «Данные успешно отправлены», вместо того, чтобы показывать им данные, которые вы отправили.
303 перенаправления могут использоваться в следующих случаях:
1) Геотаргетинг
2) Ориентация на устройства
3) A/B-тестирование
4 ) Отслеживание
5) Повторяющийся временный контент.
6) Перенаправление без эффекта присутствия в результатах поиска.
307 Redirect
307 Временное перенаправление почти точно такое же, как перенаправление 303, и по умолчанию оно не кэшируется. Перенаправление 307 можно использовать, если вам нужно временное перенаправление, которое заставляет клиента сохранить метод запроса от исходного запроса до запроса по целевому URL-адресу. 307 редиректы не должны использоваться с шаблоном PRG. Код состояния 307 также не следует использовать, если перенаправление носит постоянный характер.
308 Redirect
Перенаправление 308 кэшируется по умолчанию, если не указано иное. Перенаправление 308 — неправильный выбор во всех случаях, когда уловистость может привести к неожиданному негативному поведению. Перенаправление 308 можно использовать, если требуется использовать метод запроса из исходного запроса для последующего запроса, например.