Возможный дубликат:
Внутренняя ошибка сервера
Я хочу изменить URL-адрес моего веб-сайта в php, поэтому я использую файл .htaccess для этого, но он показывает мне Internal Server Error 500 .
Кто-нибудь может помочь мне решить, как решить ошибку сервера?
Ищите свои ценные взгляды.
Выяснение того, что вызывает ошибку сервера 500 Вот некоторые основные шаги, которые вы можете использовать, чтобы узнать, что вызывает ошибку.
Есть 3 основные причины, по которым вы увидите эту ошибку:
Разрешения для файлов или папок
[Sun Jun 05 12:03:22 2011] [error] [клиент 66.249.72.82] SoftException в Application.cpp: 601: Каталог «/ home1 / examplec / public_html» можно записать группой
В этом случае ваша учетная запись имеет папку с недопустимым набором разрешений. Чтобы исправить это, просто восстановите разрешения «755» с «777.» Хотя каждый сайт может быть другим, следующие разрешения чаще всего являются правильными разрешениями на использование:
Файлы – 644 скрипта CGI – 755 каталогов – 755
Вы можете изменять разрешения с помощью диспетчера файлов, расположенного в категории «Файлы» cPanel, FTP-клиента или используя команду «chmod» в SSH / Bash. Дополнительные сведения о том, как изменить права доступа к файлам и папкам, см. В нашей статье базы знаний. Настройка файлов и разрешений пользователей.
Плохой код или синтаксис в вашем .htaccess
Существует огромное количество вещей. Htaccess может выполнять и не сложно использовать, однако если вы не ввели синтаксис правильно, это может привести к ошибке Server 500. Ниже приведены некоторые общие примеры того, что может вызвать ошибку.
Синтаксис не закрыт
[Sun Jun 05 12:11:38 2011] [alert] [клиент 66.249.72.82] /home1/examplec/public_html/.htaccess: /home1/examplec/public_html/.htaccess:3: ExampleRule / Module> не был закрыт.
Опять же, решение состоит в том, чтобы просто исправить синтаксис или удалить его. В этом случае правильно закройте директиву «» и поместите правила на своей линии, чтобы решить проблему.
Это всего лишь несколько распространенных примеров, которые могут быть вызваны плохими параметрами .htaccess. То, с чем вы сталкиваетесь, скорее всего будет изменяться, однако, как правило, сообщение об ошибке достаточно описательно, чтобы определить ошибку из него без дальнейшего изучения. Неправильно настроенный php.ini ForceType
Когда вы используете файлы с (или без) расширения, отличного от обычного расширения для этого типа файлов, вы можете использовать ForceType в вашем файле .htaccess, чтобы дать понять серверу, как обращаться с этим файлом (или всеми файлами в папке) (это работает на серверах без phpsuexec).
Пример. Когда у вас есть файл с именем «item» (например, Nucleus использует для FancyURL) и хочет, чтобы он анализировался сервером как php, вы используете следующий код в файле .htaccess:
ForceType application/x-httpd-php
Однако, поскольку наши серверы используют phpsuexec, это приведет к ошибке внутреннего сервера. Чтобы решить эту проблему, вы можете просто использовать SetHandler вместо ForceType, поэтому ваш .htaccess-файл будет выглядеть следующим образом:
SetHandler application/x-httpd-php
php_value На сервере без phpsuexec можно использовать оператор php_value в файле .htaccess, чтобы изменить настройки php (фактически перезаписать настройки из php.ini). На сервере с phpsuexec это также приведет к ошибке сервера. Чтобы решить эту проблему, вы можете использовать файл php.ini, который вы помещаете в ту же папку, где вы бы поместили ваш файл .htaccess. В этом файле php.ini вы можете изменить все значения php. Вам нужно только указать значения, которые вы хотите изменить в этом файле. Например, если вы хотите установить short_open_tag в Off, вы бы использовали short_open_tag? = off в файле .htaccess. Используя файл php.ini, это приводит к:
[PHP] short_open_tag = Off
попробуйте изменить владельца пользователя всех файлов и папок. Затем вы должны правильно разрешить правильные папки.