Наличие ошибок при переносе сайта на новое окружение - это абсолютно нормально и во многих случаях неизбежно. Первое, что стоит понять при столкновении с ошибками - они наши друзья и помощники. По ним можно понять причину, по которой не работает сайт, и исправить эти причины. Намного хуже, если сайт не работает, а ошибок при этом нет. Основные ошибки с которыми сталкиваются владельцы сайтов это:
1. Ошибка http 500
Как правило, означает неправильную или запрещенную на данном сервере директиву в файле .htaccess. Проверить это можно просто переименовав файл .htaccess, к примеру в .htaccess_ . Так вы исключите его влияние на запрос. Если после переименования страница сайта открывается, проблема однозначно в нем.
Верните ему прежнее название и комментируйте строку за строкой, каждый раз проверяя работу сайта. Если после очередного комментария сайт заработал, вы наткнулись на директиву, которая мешала работе сайта.
Раскомментируйте все остальное и продолжайте работу с сайтом. О назначении и необходимости этой директивы для сайта можно узнать у разработчика (если сайт разрабатывает сторонний человек), в сети или же обратившись в службу техподдержки хостинга.
Отдельный случай, когда все директивы в этом файле правильные, или он вовсе пустой, но сайт по-прежнему возвращает ошибку 500. Основной причиной этого являются BOM символы в файле. Рекомендуем придерживаться стандартов и использовать кодировку файлов utf-8 без BOM. Убрать BOM символы можно через notepad++ или текстовый редактор со схожим функционалом. Или просто скопировать текст из файла htaccess, затем удалить этот файл, создать новый файл с таким же именем и скопировать текст в него. Через диспетчер файлов на хостинге он будет создан в правильной кодировке.
2. Ошибка 403
Означает что на просмотр файлов недостаточно прав или в корневой папке сайта нет индексного файла. Это могут быть или некорректно выставленные права на файлы и папки, или запрещающая просмотр сайта директива в файле .htaccess, или заголовок отдаваемый непосредственно движком (самый редкий случай).
Проверьте, загружены ли файлы сайта в его корневую папку. Если загружены, посмотрите, есть ли среди них файл index.html или index.php.
Есть стандартные права - 644 для файлов и 755 для папок. Сбросить права можно через менеджер файлов в панели управления хостингом, или же через ftp клиент filezilla.
Файл htaccess легко проверить на подобные директивы по поиску фразы deny from. Эта директива запрещает доступ к папке.
Для поиска причин выдачи этого заголовка в движке нужно обратиться к разработчику.
3. Ошибка 404 на подстраницах сайта
Главная страница при этом отображается. Вы не перенесли на хостинг файл .htaccess. Этот файл скрытый по умолчанию, поэтому его часто забывают при переносе.
4. Ошибка 503/508
Проверьте место на диске. Такие ошибки характерны при превышении дисковой квоты. Если место на диске превышается, нужно удалить лишние файлы, чтобы освободить место, или перейти на более высокий тариф. Если с местом на диске проблем нет, причиной может быть превышение нагрузки на сервер. Также такой заголовок может отдавать сам РНР скрипт при наличии в нем внутренних проблем. В обоих случаях рекомендуем обратиться в техподдержку.
5. Белая страница
Проверьте файл index.php/index.html. Он не должен быть пустым. Если он не пустой, проверьте место на диске, так как причиной может быть некорректно созданный кэш движка. Если квота диска не превышена, проверьте файл логов. В нем, как правило, написана внутренняя ошибка движка.
В CPanel он размещается в корневой папке сайта и называется error_log, а также часть ошибок пишется в разделе Ошибки в этой панели управления.
В ISPmanager логи находятся в разделе WWW - WWW-log files.
В BrainyCP логи размещаются в разделе Информация - Логи (в выпадающем списке выберите пункт с именем Вашего сайта и окончанием _error).
6. Error establishing a database connection
Характерна для wordpress. Неправильные доступы подключения к базе данных в файле wp-config.php. Проверьте имя базы, имя пользователя и пароль. Поверьте, назначены ли пользователю базы данных права на работу с базой. Проверьте загружены ли таблицы базы через phpMyAdmin.
Наличие ошибок при переносе сайта на новое окружение - это абсолютно нормально и во многих случаях неизбежно. Первое что стоит понять при столкновении с ошибками - что они наши друзья и помощники. По ним можно понять причину по которой не работает Ваш сайт и исправить эти причины. Намного хуже если сайт не работает, а ошибок при этом нет. Основные ошибки с которыми сталкиваются владельцы сайтов это:
1. Ошибка http 500
Как правило означает неправильную или запрещенную на данном сервере директиву в файле .htaccess. Проверить это можно просто переименовав файл .htaccess, к примеру в .htaccess_ . Так Вы исключите его влияние на запрос. Если после переименования страница сайта открывается - проблема однозначно в нем. Верните ему прежнее название и комментируйте строку за строкой, каждый раз проверяя работу сайта. Если Вы видите что после очередного комментария сайт заработал - Вы наткнулись на директиву, которая мешала работе сайта. Раскомментируйте все остальное и продолжайте работу с сайтом. О назначении и необходимости этой директивы для Вашего сайта Вы можете узнать у Вашего разработчика (если сайт разрабатывает сторонний человек), поиском по сети или же обратившись в службу тех поддержки хостинга.
Отдельный случай - когда все директивы в этом файле правильные, или он вовсе пустой, но сайт по-прежнему возвращает ошибку 500. Основной причиной этого являются BOM символы в файле. Рекомендуем придерживаться стандартов - использовать кодировку файлов utf-8 без BOM. Убрать BOM символы можно через notepad++ или текстовый редактор со схожим функционалом. Или просто скопировать текст из файла htaccess, затем удалить этот файл, создать новый файл с таким же именем и скопировать текст в него. Через диспетчер файлов на хостинге он будет создан в правильной кодировке.
2. Ошибка 403
Означает что на просмотр файлов недостаточно прав или в корневой папке сайта нет индексного файла. Это могут быть или некорректно выставленные права на файлы и папки, или запрещающая просмотр сайта директива в файле .htaccess, или заголовок отдаваемый непосредственно Вашим движком (самый редкий случай).
- Проверьте, загрузили ли Вы файлы сайта в его корневую папку. Если загузили - посмотрите, есть ли среди них файл index.html или index.php.
- Есть стандартные права - 644 для файлов и 755 для папок. Сбросить права Вы можете через менеджер файлов в панели управления хостингом, или же через ftp клиент filezilla.
- Файл htaccess легко проверить на подобные директивы по поиску фразы deny from. Эта директива запрещает доступ к папке.
- Для поиска причин выдачи этого заголовка в движке нужно обратиться к разработчику.
3.Ошибка 404 на подстраницах сайта.
Главная страница при этом отображается. Вы не перенесли на хостинг файл .htaccess. Этот файл скрытый по умолчанию, поэтому его часто забывают при переносе.
4. Ошибка 503/508
Проверьте место на диске. Такие ошибки характерны при превышении дисковой квоты. Если место на диске превышается - Вам нужно удалить лишние файлы, чтобы освободить место или перейти на более высокий тариф.
Если с местом на диске проблем нет - причиной может быть превышение нагрузки на сервер. Также такой заголовок может отдавать сам РНР скрипт при наличии в нем внутренних проблем. В обоих случаях рекомендуем обратиться в тех поддержку.
5. Белая страница.
Проверьте файл index.php / index.html. Он не должен быть пустым. Если он не пустой - проверьте место на диске, так как причиной может быть некорректно созданный кэш движка. Если квота диска не превышена - проверьте файл логов. В нем, как правило, написана внутренняя ошибка движка. В CPanel он размещается в корневой папке сайта и называется error_log, а также часть ошибок пишется в разделе Ошибки в этой панели управления. В ISPmanager логи находятся в разделе WWW - WWW-log files. В BrainyCP логи размещаются в разделе Информация - Логи (в выпадающем списке выберите пункт с именем Вашего сайта и окончанием _error).
6. Error establishing a database connection
Характерна для wordpress. Неправильные доступы подключения к базе данных в файле wp-config.php. Проверьте имя базы, имя пользователя и пароль. Поверьте назначены ли пользователю базы данных права на работу с базой. Проверьте загружены ли таблицы базы через phpMyAdmin.