301 редирект с 404 Not Found
Код 404 Not Found (страница не найдена) присваивается удалённой или несуществующей странице на сайте, а также часто возникает при попутке неправильно ввести url-адрес. Создание постоянного перенаправления с таких страниц актуально для контентных сайтов и крупных интернет-магазинов, где страницы часто удаляются по естественным причинам. Тогда возникает потребность перенаправить посетителей на одну из главных страниц сайта, чтобы они не уходили с ресурса, при виде ошибки.
301 редирект для страниц 404 Not Found сделать совсем несложно. Например, этот код перенаправит со всех 404-страниц на главную сайта:
ErrorDocument 404 http://www.domain.com/dont_exit.html
Редирект с главной страницы site.ru/index.php на основное зеркало site.ru
В тех случаях, когда главная страница сайта может быть недоступна по нескольким адресам одновременно, применяют следующую конструкцию:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\. (.*)$ http://site.ru/ [L,R=301]
301 Редирект в htaccess с http + www на https без www
301 редирект в создании сайтов и их же продвижении играет самую важную скрипку, ведь при криво настроенном перенаправлении ваш сайт с легкостью вылетит из поиска, раздублируются страницы по самое немогу, а также привнесет раздрай в вашем творении. И чтобы этого не произошло надо настраивать 301 Редирект в htaccess правильно! (с Домена на нужный Домен, со Страницы на правильную Страницу).
А пока немного теории: 301 редирект это по сути простая 301-ая ошибка (301 Permament Redirect), которая возвращается сервером при запросе конкретного адреса вашего сайта, расшифровывается так: «Сайт на постоянной основе перенесен на такой-то адрес». Все пользователи, боты и другие инопланетные обитатели зашедшие на ваш сайт, будут перенаправляться по новому месту прописки, и для поисковых систем Яндекс, Гугл и других (произойдет склейка домена), весь вес сайта будет перенесен на новый адрес.
Примечание!
1) site.ru — нужно заменить на ваш адрес сайта
2) Эти две строчки:
Options +FollowSymLinks RewriteEngine On
Сразу прописаны в файле .htaccess в CMS Joomla 1.5 / 2.5 / 3.x / итд.
Однако если вы их не нашли в этом файле то, чтобы код работал, их необходимо прописать.
На другой сайт:
Redirect 301 / http://site.com
Страница на сайт:
Redirect 301 /katalog/tovar1.html http://drugoysite.ru/tovar2.html
Страница на страницу:
Redirect 301 /katalog/tovar-old.html /katalog/tovar-new.html
Я делаю сайты на Joomla 3, но эти редиректы подходят большинству сайтов на php с . htaccess
Как настроить перенаправление .htaccess
В этом руководстве мы обсудим файл Apache .htaccess и множество способов его изменения и настройки в соответствии с вашими конкретными потребностями. Мы рассмотрим, как настроить переадресацию, перезапись .htaccess и добавить другие настройки.
Допустим, вы решили изменить доменное имя или иметь один веб-адрес на своем сайте, который вы хотите перенаправить в совершенно другое место. Используя переадресацию .htaccess, вы можете автоматически отправлять посетителей на новую страницу или сайт!
Программное обеспечение Apache предоставляет конфигурацию на уровне каталога, которая называется Доступ к гипертексту или файл .htaccess . Этот скрытый файл обычно находится в папке public_html вашего веб-сайта. Чтобы изменить его, войдите в свою учетную запись сервера по SSH и измените файл с помощью вашего любимого текстового редактора командной строки. Мы также можем сами создать файл и загрузить его на сервер с помощью FTP/SFTP или SCP. Кроме того, большинство панелей управления позволяют нам изменять файл .htaccess с помощью собственного файлового менеджера.
Примечание:
Вы всегда должны создавать резервные копии важных файлов перед их изменением. Не удаляйте существующий файл .htaccess, если он не пуст или если вы не уверены, что это можно сделать.
Файл .htaccess вашего веб-сайта может уже содержать важные настройки, которые необходимо сохранить. Если в вашем файле .htaccess есть существующие настройки, вам нужно будет добавить новый код к тому, что уже есть.
Если ваш сайт был создан для вас и вы не совсем знакомы с кодом своего сайта, вам может потребоваться помощь дизайнера или разработчика при добавлении новых настроек .htaccess.
Простые перенаправления
Перенаправление отдельной страницы
URL-адрес перенаправления сообщает серверу, что он будет отправлять этот трафик в другое место назначения. Чтобы перенаправить трафик домена на навсегда, используйте 301 . Для временного перенаправления используйте 302 . Следующая запись отправляет всех посетителей, пытающихся перейти на test.com/old.html , на test.com/new.html .
Перенаправление 301 /old.html http://www.test.com/new.html
Перенаправление всего веб-сайта
Когда мы хотим изменить наше доменное имя, сохранив старое, одним из лучших вариантов является настройка простого перенаправления 301 из корневого каталога старого домена ( / ) на новый.
Перенаправление 301 / http://www.test.com/
Простые перезаписи
Перезаписи ( mod_rewrite ) аналогичны перенаправлениям ( mod_alias ). Они перенаправляют целевой URL-адрес или класс URL-адресов на другой URL-адрес. Однако в большинстве случаев лучше использовать mod_alias вместо директивы, потому что она проще и требует меньше настроек.
Мы должны ограничить его использование ситуациями, когда в файле .htaccess уже есть другие правила перезаписи. При наличии правил перенаправления и директив RewriteRule директивы RewriteRule имеют иерархический приоритет над правилами перенаправления, независимо от порядка появления в файле конфигурации. Есть несколько вариантов использования, в которых мы можем реализовать директивы RewriteRule.
9(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Переписать имена файлов без расширения
Мы можем перенаправить любой запрос к типам файлов в тот же файл без отображения расширение. Вы можете включить несколько расширений файлов одновременно, как в приведенном ниже примере, в котором мы перенаправляем файлы php , html и htm . Ожидаемое поведение должно измениться с https://liquidweb.com/random_page.php на https://liquidweb.com/random_page 9.(.*)$ https://liquidweb.com/blog/$1 [L,NE,R=301]
Дополнительные настройки
Пользовательские страницы ошибок
Страницы ошибок часто могут быть скучными, общими и двусмысленными. Мы можем создавать собственные страницы на нашем выделенном сервере, которые соответствуют общей теме и стилю нашего сайта и которые легче интерпретировать посетителям.
ErrorDocument 401 http://any.domain.com/how_to_get_access.html ErrorDocument 403 по умолчанию Документ об ошибке 404 /404.html ErrorDocument 500 "Это забавное сообщение об ошибке." ErrorDocument 500 /custom_file.html
Эти перенаправления можно настроить в верхней части файла .htaccess. Как показано в приведенных выше примерах, они следуют следующему шаблону:
- Директива ErrorDocument .
- Код ошибки, используемый для перенаправления (401, 404 и т. д.).
- Действие, которое необходимо выполнить. Это может быть текст, отображаемый в браузере посетителя, локальный или внешний URL-адрес или файл (например, 404.html).
Примечание:
Специальное слово «по умолчанию» используется для установки страницы ошибок веб-сервера по умолчанию.
Контент, защищенный паролем
Существует простой способ защитить паролем определенный контент через .htaccess. Нам просто нужно добавить следующий код в файл .htaccess в каталоге, который мы хотим защитить.
Тип аутентификации Базовый Имя авторизации "Защищено" AuthUserFile "/home/myuser/.htpasswds/passwd" require valid-user
Нам необходимо указать правильный путь к каталогу .htpasswds . Последним шагом будет добавление пользователей и паролей в файл passwd в пределах .htpasswds . Правильная терминология для добавления пользователей: user:password .
Вы можете сгенерировать пароль здесь или из командной строки (используя алгоритм пароля на основе MD5).
$ пароль openssl -1 Пароль: mypass Подтверждение - Пароль: mypass Сгенерированный пароль: $1$UyoTN20N$WeWXiTlJE3iivdK9ToFea. $ кошка /home/мой пользователь/.htpasswds/passwd my_valid_user:$1$UyoTN20N$WeWXiTlJE3iivdK9ToFea.
Альтернативным методом создания безопасного пароля является использование 9http://(www. )?domain.com/ [nc] RewriteRule .*.(gif|jpg|png)$ http://domain.com/img/hotlink_no.png [nc]
Заключение
Мы видели несколько практических применений файла .htaccess, и есть многое другое. Однако следует отметить, что по возможности лучше использовать основные файлы конфигурации, поскольку они обеспечивают более высокую общую производительность и безопасность. Если у нас нет root-доступа к серверу, параметры модификации доступны в панели управления. Обычно это лучший способ настроить правила .htaccess для каждого каталога без особых хлопот и невероятно гибкий инструмент, позволяющий максимально использовать возможности вашей среды хостинга.
Мы можем помочь!Наши группы поддержки состоят из опытных специалистов по Linux и талантливых системных администраторов, которые хорошо разбираются во многих технологиях веб-хостинга, особенно в тех, которые обсуждаются в этой статье.
Если вы являетесь полностью управляемым сервером VPS, облачным выделенным сервером, частным облаком VMWare, частным родительским сервером, управляемым облачным сервером или владельцем выделенного сервера и вам нужна дополнительная или более конкретная информация о вашем файле . htaccess, настройке перенаправлений или любые другие проблемы, вы можете обратиться в нашу отмеченную наградами службу поддержки через LiveChat или позвонить нам по телефону 1-800-580-4985 . Наши сотрудники службы технической поддержки всегда готовы ответить на вопросы, если вам нужна дополнительная информация об этой статье, 24 часа в сутки, 7 дней в неделю, 365 дней в году. Поддержка также доступна через наши системы продажи билетов по электронной почте [email protected].
Как настроить правила и перенаправления в .htaccess — Хостинг
Как настроить правила и перенаправления в .htaccess
.htaccess — это файл конфигурации на уровне каталога, поддерживаемый веб-сервером Apache. Он используется для изменения конфигурации веб-сервера (включения или отключения дополнительных функций) для конкретной учетной записи без изменения глобальных настроек сервера.
Файл .htaccess действует во всем каталоге, в котором он находится, включая все файлы и подкаталоги. Изменения, сделанные в этом файле, будут реализованы немедленно, и перезапуск сервера не требуется.
Как найти файл .htaccess
Список обычно используемых правил .htaccess:
- Авторизация/аутентификация
- Блокировка
- Custom Firm Pages
- Mod_rewrite (Redirect Valile 9029 9029 DirectRITE
- 9029 DirectRITE
- DirectRITE
- DirectRITE
- . 9029. DirectRite
- 9029. DirectRite
- 29. Direfret DirectRite
- DirectRite)
- .29. Director.0159
Чтобы получить доступ к основному файлу .htaccess вашей учетной записи хостинга, выполните следующие действия:
1. Войдите в свою cPanel .
2. Перейдите в раздел Файлы >> Диспетчер файлов :
3. Если вы хотите отредактировать файл .htaccess для своего основного домена, перейдите в папку public_html . Если вам нужно внести некоторые изменения в домен аддона, перейдите на public_html/youraddondomain. com папка.
Оказавшись там, убедитесь, что опция Показать скрытые файлы (точечные файлы) включена в меню Настройки :
4. Найдите файл .htaccess , щелкните правой кнопкой мыши >> Изменить :
5. Если в вашем файловом менеджере нет файла .htaccess, создайте новый, используя опцию
Вы готовы добавить свои собственные правила конфигурации и сохранить их.
Общие правила использования файла .htaccess перечислены ниже:
Авторизация/аутентификация – определяет ограничения безопасности для каталога/подкаталога.
Вы можете защитить паролем каталог или несколько из них, и всякий раз, когда посетитель попытается получить к нему доступ, потребуется имя пользователя и пароль.
Для установки такой защиты необходимо:
1. Создайте каталог, который вы хотите защитить, в папке /home/cpanel_user/. htpasswds/ (например, для public_html/test путь будет .htpasswds/public_html/test/).
2. Создайте файл passwd в этом каталоге и добавьте хешированные данные доступа с помощью этого онлайн-генератора.
3. Добавьте следующие директивы в .htaccess:
AuthType Basic
AuthName "Имя каталога" AuthUserFile "/home/cpanel_user/.htpasswds/public_html/test/passwd" требуется действительный пользователь
Блокировка — блокирует пользователей по IP-адресу или домену. Очень полезно блокировать нежелательных посетителей или разрешать доступ к определенным разделам веб-сайта его владельцу, например, области администрирования.
Чтобы настроить определенные правила блокировки, создайте файл .htaccess со следующим текстом:
- , чтобы разрешить доступ всем остальным и заблокировать пользователей с IP-адресом X.X.X.X
Требовать всех разрешено
Не требует IP X. X.X.X
- , чтобы заблокировать всех посетителей, за исключением конкретного X.x.x.x и Y.Y.Y.Y IPS
. >
ПРИМЕЧАНИЕ. Не смешивайте устаревшие директивы Allow , Deny и Order с новой директивой Require .
Пользовательские страницы ошибок — позволяет создавать пользовательские страницы ошибок для сайта. Эта опция очень полезна, поскольку позволяет показывать посетителям веб-сайта сообщение об ошибке, соответствующее теме вашего веб-сайта, если URL-адрес на вашем веб-сайте не работает. Это помогает избежать, например, ошибки по умолчанию «404 Файл не найден» и позволяет отображать специально разработанную ошибку с направляющими указаниями обратно в содержимое вашего веб-сайта, а не озадачивать его.
Чтобы настроить собственный документ об ошибке, создайте файл .htaccess со следующим текстом ниже:
ErrorDocument 404 /404. html
Всякий раз, когда появляется ошибка 404 (Файл не найден), эта строка указывает веб-серверу Apache загрузить файл 404.html, расположенный в корневом каталоге домена, для которого вы установили страницу ошибки.
ПРИМЕЧАНИЕ : Чтобы настроить документ для других ошибок (403, 500 и т. д.), просто замените 404 на соответствующий код ошибки и /404.html на путь к файлу ошибки.
Mod_Rewrite — указывает, как веб-страницы и URL-адреса отображаются для посетителей.
Обращаем ваше внимание на использование правил Mod_Rewrite в файле .htaccess.
По умолчанию Mod_Rewrite сопоставляет URL-адрес с путем файловой системы. Однако его также можно использовать для перенаправления одного URL-адреса на другой URL-адрес.
Перед созданием редиректа вам необходимо выбрать наиболее предпочтительный для вас тип редиректа:
- Постоянный редирект имеет код состояния 301 и, в отличие от временного, кэшируется в памяти браузера. Это означает, что страница была перемещена, и просит все поисковые системы и пользовательские агенты, заходящие на страницу, обновить URL-адрес в своей базе данных. Это самый распространенный тип редиректа.
- Временное перенаправление означает, что страница отправляет код состояния 302 в браузер. Код 302 говорит браузеру не кэшировать это перенаправление в сохраненные данные. Он перенаправит посетителя или поисковую систему, но поисковая система продолжит индексировать исходную страницу. Это рекомендуемый тип редиректа, если только вы не уверены, что никогда не измените его в будущем.
Список наиболее распространенных и полезных редиректов, которые можно настроить через файл .htaccess, можно найти ниже (домены, указанные в примерах, заменить на свои): 9/(.*)$ http://domain.com/$1
ПРИМЕЧАНИЕ . Все имена страниц должны совпадать на обоих доменах, иначе перенаправление приведет к сообщению «Страница не найдена» на целевом веб-сайте.