Как настроить страницу 404 html. Особенности и секреты правильной настройки файла.htaccess

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

Итак, начнем:

1. Перенаправление посетителей при обновлении сайта.

Когда Вы обновляете или тестируете сайт на хостинге, Вы можете перенаправлять посетителей на определенную страницу. Для этого в файле.htaccess необходимо прописать следующий код:

Order deny,allow
deny from all
allow from 123.123.123.123
ErrorDocument 403 /page.html

allow from all

Замените 123.123.123.123 на Ваш ip-адрес, а также замените page.html на ту страницу, которую будут видеть пользователи, зашедшие на сайт.

2. Определенная страница с ошибкой 404.

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

ErrorDocument 404 /404.html

Перенаправлять посетителей в таком случае удобно на главную страницу сайта.

3. Редирект на перемещенные или переименованные страницы.

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

Redirect 301 /old.html http://yoursite.com/new.html

Также вы можете использовать такой редирект для того, чтобы страница не потерялась для поисковиков.

Если у Вас в папке на сайте нет файла index , то любой пользователь может посмотреть, какие файлы в ней лежат.

Чтобы избежать таких вещей, следует прописать такой код:

Options All -Indexes

На некоторых хостингах такая функция прописана по-умолчанию, в таком случае Вам не стоит беспокоиться.

5. Создание красивых URL.

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

Http://yoursite.com/about
http://yoursite.com/pages/about.html

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

Вот некоторые примеры с кодом:

RewriteEngine on
RewriteRule ^about/$ /pages/about.html [L]
RewriteRule ^features/$ /features.php [L]
RewriteRule ^buy/$ /buy.html [L]
RewriteRule ^contact/$ /pages/contact.htm [L]

P.S. В интернете существует несколько сайтов, с помощью которых можно автоматически редактировать файл.htaccess. Например htaccesseditor.com .

P.P.S. Чтобы с нуля создать такой файл Вам следует открыть, например, блокнот, вписать в него строчку

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

От автора: приветствую вас, друзья. Итак, мы продолжаем цикл статей, посвященных знакомству с одной из популярнейших CMS для создания интернет-магазинов – OpenCart (Оперкарт). В этой статье мы поговорим о том, как создать и настроить 404 страницу в OpenCart.

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

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

Страница 404 в OpenCart уже имеется и выглядит по умолчанию она так:

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

Например, заголовок страницы меня устраивает, а вот текст я бы хотел изменить. Сделать это можно в языковом файле, который вы найдете по адресу \catalog\language\ru-ru\error\not_found.php

Первая переменная — $_["heading_title"] – хранит текст заголовка, а вторая — $_["text_error"] – текст под заголовком. Давайте изменим его:

// Text $_["text_error"] = "404... Упс, такой страницы на сайте нет...";

// Text

$ _ [ "text_error" ] = "404... Упс, такой страницы на сайте нет..." ;

Изменения произошли и на самой странице 404 Опенкарт.

Ок, а что если мы захотим поменять текст на кнопке, добавить какую-нибудь картинку или сделать что-то еще подобное? Это уже лучше делать в файле шаблон. Для этого идем в файл шаблона страницы 404 активной темы, по умолчанию это будет файл \catalog\view\theme\default\template\error\not_found.tpl

Контент страницы находится в блоке с id=»content». Давайте изменим текст кнопки и вместо Продолжить напишем Перейти на главную. Для этого данный код:

< div class = "pull-right" > < a href = " " class = "btn btn-primary" > < / a > < / div >

Заменим таким:

Аналогичным образом вы можете добавлять на страницу любой другой контент. И несколько слов о настройке страницы. Например, как мне добавить меню категорий в левый сайдбар? Это можно сделать в админке сайта. Перейдем в меню Дизайн – Схемы. Здесь вы найдете список макетов, которые используются для той или иной страницы сайта. Для страницы 404 макет по умолчанию.

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

В качестве пути я указал маршрут, соответствующий адресу 404, — error/not_found. В левую колонку добавил вывод категорий. Сохраним новый макет и посмотрим результат на сайте.

Файл.htaccess дает пользователю возможность свободно управлять web-сервером Apache и применять настройки по отношению к директориям и папкам, которые расположены на сервере.

Успешность развития и продвижения интернет-проекта во многом зависит от правильной адекватной работы сервера, на котором расположен сайт. Сейчас большинство использует Apache – в основном, из-за простоты настройки и большого количества предоставляемых возможностей. Настраивать его работу можно как в главном конфигурационном файле, так и с помощью.htaccess. Расположенные на сервере в отдельных папках, они указывают ему, как именно действовать в данном подкаталоге.

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

Как правильно настроить.htaccess и зачем это нужно

Владельцы сайтов, которые пользуются услугами виртуального хостинга, доступа к httpd.conf чаще всего не имеют. Поэтому единственным способом управления сервером для них будет настройка файла htaccess.
По сути и по структуре, он напоминает httpd.conf. С одним отличием: прописанные в htaccess директивы будут действовать только на тот каталог, в котором расположен этот файл. А также на подчиненные папки и файлы. Но действовать они будут точно так же, как директивы глобального файла конфигурации. То есть, для каждого каталога можно указать отдельный файл.htaccess с нужными настройками, не меняя при этом глобальных настроек сервера и не обращаясь за помощью к хостеру.

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

С помощью директив, прописанных в конфигурационном файле, пользователь или владелец сайта получает возможность настройки:

  1. Опций PHP.
  2. Кэширования.
  3. Редиректов.
  4. Обработки ошибок 404.
  5. Перенаправления на https
  6. Управления доступом и пр.

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

Прописываем htaccess правильно

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

Команда параметр1 параметр2 флаги

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

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

  • Путь к файлу или директории указывается от корня сервера:
    /home/mdhscyhq/public_html/
  • Домен прописывается с указанием протокола:
    Redirect / https://yoursupersite.ru
  • Название файла должно содержать «точку»:
    .htaccess
  • Файл должен записываться в формате UNIX.

Путь от корня можно спросить у администратора сервера или посмотреть самостоятельно. Для этого достаточно запустить на сайте функцию PHP–phpinfo и посмотреть значение doc_root.

1.Настройка ЧПУ

ЧПУ, или человеко-понятный урл, положительно (хоть и незначительно) влияет на релевантность страницы сайта запросу пользователя с точки зрения поискового робота. А значит – повышает позицию выдачи в поиске. А еще более удобен для пользователя при навигации.

Сравните:
http://yoursupersite.ru/index.html?id=4
и
http://yoursupersite.ru/razrabotka-sayta/

В последнем случае сразу становится понятно, на какой странице мы находимся и какую информацию можно на ней получить.
В ЧПУ можно прописать ключевые слова или фразы: кириллицей или транслитом.
Вот так, к примеру, из стандартного url:
tovar.html?id=101
с помощью изменений настроек ЧПУ в htaccess можно сделать вполне понятный url:
tovar-101.html.

RewriteRule ^tovar-(+)\.html$ tovar.html?id=$10

Или создать древовидную структуру url: category/tovar-123.html

RewriteRule ^category/(+)/(+)\.html$ tovar.html?id=$20

2.Настройка свойств PHP

Даже если хостер закрыл доступ к php.ini, но вам обязательно необходимо изменить некоторые свойства PHP, это можно сделать с помощью файла htaccess.
Пример:

php_value post_max_size 10M php_value upload_max_filesize 32M php_value max_execution_time 200 php_value default_charset utf-8

Директивы:
upload_max_filesize позволяет выполнить загрузку файлов размером до 32Мб (по умолчанию – до 16Мб).
post_max_size увеличивает размер постинга до 10Мб (стандарт – 2Мб).
max_execution_time позволяет использовать сложные скрипты, на выполнение которых необходимо более чем 30 стандартных секунд.

3.Кэширование данных

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

  • mod_headers — дает возможность устанавливать в заголовке ответа сервера разные правила кэширования для файлов различных типов.
  • mod_expires — отвечает за срок «устаревания» файлов, время, по истечении которого, файл будет помещен в кэш браузера.

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

4.Настройка редирект в htaccess

Настройка файла htaccess позволяет выполнить простую и сложную переадресацию url. То есть, вы можете перенаправить пользователя на другой адрес глобально:

Redirect / http://www.yoursupersite.ru

или при запросе отдельных страниц на сайте:

Redirect / blog http://yoursupersite.ru/blog

Правильный редирект в htaccess имеет следующий синтаксис:

Redirect url_local url_redirect

Существует несколько несложных правил, которые стоит соблюдать при настройке переадресации через htaccess:

  • Редиректы страниц в файле нужно располагать от более частных (вверху страницы) к глобальным. То есть сверху вниз.
  • Необходимо избегать двух и более последовательных редиректов, т.к. это увеличивает время ответа и негативно оценивается поисковыми роботами.

Как правильно сделать 301 редирект в htaccess

В случае переноса сайта на новый домен или смены CMS возникает необходимость перенаправления пользователя со старых url на новые адреса. Редирект с номером ошибки 301 (Permament Redirect) сообщает роботу о том, что документы и страницы были перемещены на постоянной основе. Это позволяет сохранить позиции сайта в поисковых системах, сохранить ссылочную массу и PageRank.
Настройка 301 редиректа в htaccess может быть выполнена различными способами, в зависимости от предустановленного ПО и поставленных целей.
Самый простой вариант:

Redirect 301 /new-1/ http://yoursupersite.ru/new-2/

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

RewriteCond %{REQUEST_URI} !\? RewriteCond %{REQUEST_URI} !\& RewriteCond %{REQUEST_URI} !\= RewriteCond %{REQUEST_URI} !\. RewriteCond %{REQUEST_URI} ![^\/]$ RewriteRule ^(.*)\/$ /$1

А так каждая страница старого домена перенаправляется на страницу с аналогичным url на новом домене:

RewriteCond %{REQUEST_URI} (.*) RewriteRule ^(.*)$ http://site.ru/$1

5.Настройка 404 ошибки в htaccess

Удалили или перенесли страницу с сайта? Пользователь, перейдя по ссылке в поисковой системе или вводя неправильный url, увидит сообщение об ошибке 404. И, скорее всего, закроет вкладку.
Чтобы этого не произошло, более правильным будет отдельно настроить редирект 404 в htaccess и перенаправить посетителя на главную страницу сайта:

ErrorDocument 404 http://www.yoursupersite.ru/

Однако это не всегда такое решение оправдано. Маркетологи рекомендуют создавать отдельную страницу «Not Found», которая будет работать на увеличение конверсии. Подробнее о дизайне страницы «Ошибка 404» можно почитать . А перенаправить пользователя на нее можно с помощью следующих настроек в htaccess:

ErrorDocument 404http://www.yoursupersite.ru/404.html

Аналогичным образом можно настроить вывод сообщений об ошибках:

ErrorDocument 401 http://www.yoursupersite.ru/401.html ErrorDocument 403 http://www.yoursupersite.ru/403.html ErrorDocument 500 http://www.yoursupersite.ru/500.html

6. Настройка редиректа на https в htaccess

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

RewriteEngine On RewriteCond %{HTTPS} !on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

7.Управление доступом

В файле htaccess с помощью специальных директив можно ограничить доступ расположенным в текущей директории файлам и папкам:

deny from all

Владелец или администратор сайта может разрешить доступ пользователям с конкретного IP-адреса. Это выполняется следующим образом

order deny,allow deny from all allow from 192.168.ХХ.Х

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

deny from 192.168.ХХ.Х

Вместо заключения

Правильная настройка htaccess обеспечит правильную работу сайта. Однако не стоит забывать о том, что он является только дополнительным конфигурационным файлом, поэтому по возможностям значительно уступает httpd.conf. Но позволяет применять более тонкие настройки к отдельным папкам, расположенным на сервере.

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

Первое, что необходимо сделать - это создать файл.htaccess . Обратите внимание, что имени у этого файла нет, а расширение "htaccess ". Если Вы работаете в Unix , то проблем с созданием не возникнет. А вот если Вы работаете в Windows , то создать файл .htaccess можно таким образом (так делаю я, хотя, возможно, есть более простые способы):

  1. Открыть блокнот.
  2. Выбрать пункт меню "Сохранить как ".
  3. Введите имя файла ".htaccess ".
  4. Выберите тип файла "Все файлы ".
  5. Сохраните.

В результате, у Вас появится файл .htaccess . Скопируйте его в корень своего сайта. Теперь Вы можете его открыть (например, в том же блокноте) и написать там такую строку:

ErrorDocument 404 /404.html

Теперь создайте в корне сайта страницу "404.html", в которой пишите любой HTML-код , например, такой:





Страница не существует!


Проверьте правильность ввода адреса


С Уважением, Мой сайт



Таким образом, люди будут видеть не стандартную страницу в браузере, а ту страницу, которую создали Вы.

Напоследок, хочется сказать одну важную вещь. Если Вы работаете на локальном компьютере, то на нём должен быть установлен сервер (например, пакет Denwer , в который входит и сервер Apache , и PHP , и MySQL и много чего ещё).