I receive 500 internal server error on my website. I think this is because of .htaccess file, but I don’t know what’s wrong with it.
Server: DirectAdmin, Linux-based
Contents of the .htaccess file is as the following:
# BEGIN All In One WP Security
#AIOWPS_BLOCK_WP_FILE_ACCESS_START
<files license.txt>
order allow,deny
deny from all
</files>
<files wp-config-sample.php>
order allow,deny
deny from all
</files>
<files readme.html>
order allow,deny
deny from all
</files>
#AIOWPS_BLOCK_WP_FILE_ACCESS_END
#AIOWPS_BASIC_HTACCESS_RULES_START
<files .htaccess>
order allow,deny
deny from all
</files>
ServerSignature Off
LimitRequestBody 10240000
<files wp-config.php>
order allow,deny
deny from all
</files>
#AIOWPS_BASIC_HTACCESS_RULES_END
#AIOWPS_PINGBACK_HTACCESS_RULES_START
<IfModule mod_alias.c>
RedirectMatch 403 /(.*)/xmlrpc.php$
</IfModule>
#AIOWPS_PINGBACK_HTACCESS_RULES_END
#AIOWPS_DISABLE_INDEX_VIEWS_START
Options All -Indexes
#AIOWPS_DISABLE_INDEX_VIEWS_END
#AIOWPS_DISABLE_TRACE_TRACK_START
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
#AIOWPS_DISABLE_TRACE_TRACK_END
#AIOWPS_FIVE_G_BLACKLIST_START
# 5G BLACKLIST/FIREWALL (2013)
# @ http://perishablepress.com/5g-blacklist-2013/
# 5G:[QUERY STRINGS]
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ("|%22).*(<|>|%3) [NC,OR]
RewriteCond %{QUERY_STRING} (javascript:).*(;) [NC,OR]
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3) [NC,OR]
RewriteCond %{QUERY_STRING} (\|../|`|='$|=%27$) [NC,OR]
RewriteCond %{QUERY_STRING} (;|'|"|%22).*(union|select|insert|drop|update|md5|benchmark|or|and|if) [NC,OR]
RewriteCond %{QUERY_STRING} (base64_encode|localhost|mosconfig) [NC,OR]
RewriteCond %{QUERY_STRING} (boot.ini|echo.*kae|etc/passwd) [NC,OR]
RewriteCond %{QUERY_STRING} (GLOBALS|REQUEST)(=|[|%) [NC]
RewriteRule .* - [F]
</IfModule>
# 5G:[USER AGENTS]
<IfModule mod_setenvif.c>
# SetEnvIfNoCase User-Agent ^$ keep_out
SetEnvIfNoCase User-Agent (binlar|casper|cmsworldmap|comodo|diavol|dotbot|feedfinder|flicky|ia_archiver|jakarta|kmccrew|nutch|planetwork|purebot|pycurl|skygrid|sucker|turnit|vikspider|zmeu) keep_out
<limit GET POST PUT>
Order Allow,Deny
Allow from all
Deny from env=keep_out
</limit>
</IfModule>
# 5G:[REQUEST STRINGS]
<IfModule mod_alias.c>
RedirectMatch 403 (https?|ftp|php)://
RedirectMatch 403 /(https?|ima|ucp)/
RedirectMatch 403 /(Permanent|Better)$
RedirectMatch 403 (=\'|=\%27|/\'/?|).css()$
RedirectMatch 403 (,|)+|/,/|{0}|(/(|...|+++|||\"\")
RedirectMatch 403 .(cgi|asp|aspx|cfg|dll|exe|jsp|mdb|sql|ini|rar)$
RedirectMatch 403 /(contac|fpw|install|pingserver|register).php$
RedirectMatch 403 (base64|crossdomain|localhost|wwwroot|e107_)
RedirectMatch 403 (eval(|_vti_|(null)|echo.*kae|config.xml)
RedirectMatch 403 .well-known/host-meta
RedirectMatch 403 /function.array-rand
RedirectMatch 403 );$(this).html(
RedirectMatch 403 proc/self/environ
RedirectMatch 403 msnbot.htm)._
RedirectMatch 403 /ref.outcontrol
RedirectMatch 403 com_cropimage
RedirectMatch 403 indonesia.htm
RedirectMatch 403 {$itemURL}
RedirectMatch 403 function()
RedirectMatch 403 labels.rdf
RedirectMatch 403 /playing.php
RedirectMatch 403 muieblackcat
</IfModule>
# 5G:[REQUEST METHOD]
<ifModule mod_rewrite.c>
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
</IfModule>
# 5G:[BAD IPS]
<limit GET POST PUT>
Order Allow,Deny
Allow from all
# uncomment/edit/repeat next line to block IPs
# Deny from 123.456.789
</limit>
#AIOWPS_FIVE_G_BLACKLIST_END
#AIOWPS_BLOCK_SPAMBOTS_START
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} ^(.*)?wp-comments-post.php(.*)$
RewriteCond %{HTTP_REFERER} !^http://(.*)?.spna.co.ir [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule .* http://127.0.0.1 [L]
</IfModule>
#AIOWPS_BLOCK_SPAMBOTS_END
# END All In One WP Security
# BEGIN W3TC Browser Cache
<IfModule mod_deflate.c>
<IfModule mod_headers.c>
Header append Vary User-Agent env=!dont-vary
</IfModule>
AddOutputFilterByType DEFLATE text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon application/json
<IfModule mod_mime.c>
# DEFLATE by extension
AddOutputFilter DEFLATE js css htm html xml
</IfModule>
</IfModule>
# END W3TC Browser Cache
# BEGIN W3TC Page Cache core
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteRule .* - [E=W3TC_ENC:_gzip]
RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{QUERY_STRING} =""
RewriteCond %{REQUEST_URI} /$
RewriteCond %{HTTP_COOKIE} !(comment_author|wp-postpass|w3tc_logged_out|wordpress_logged_in|wptouch_switch_toggle) [NC]
RewriteCond "%{DOCUMENT_ROOT}/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index.html%{ENV:W3TC_ENC}" -f
RewriteRule .* "/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index.html%{ENV:W3TC_ENC}" [L]
</IfModule>
# END W3TC Page Cache core
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
And here’s what the Apache Error Log says:
[Thu Jan 16 00:19:08 2014] [alert] [client 157.55.35.85] /home/sapna/domains/spna.co.ir/public_html/.htaccess: Option All not allowed here
I would be grateful if you help me find out what causes the 500 internal server error.
Thanks.
вот мой .htaccess
DirectoryIndex index.php
RewriteEngine On
# Optimize deflate
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
# Options +FollowSymLinks
# Accses in folder
Options All -Indexes
# Loading Errors
ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php
# Optimize deflate - немного ускоряем работу скрипта.
# Accses in folder - Запрещаем вывод каталога папок, как я видел у некоторых доступно по адресу http://mysiti.com/templates/Default/ - каталог как на ладони.
# Loading Errors - выводим собственно свою ошибку..
# Виджеты
RewriteRule ^dev/widget_comm(/?)+$ index.php?go=dev_wid&act=widget_comm [L]
# Отключаем вывод ошибок пользователям
php_flag display_errors off
#robots.txt
RewriteCond %{HTTP_USER_AGENT} !^yandex.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} !^googlebot.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} !^rambler.* [NC,OR]
RewriteRule ^robots.txt$ / [L,R]
# Регистрация
RewriteRule ^reg/(/?)+$ index.php?go=register [L]
# Отзывы
RewriteRule ^reviews(/?)+$ index.php?go=reviews [L]
# Apps
RewriteRule ^apps(/?)+$ index.php?go=apps [L]
RewriteRule ^app([0-9]+)(/?)$ index.php?go=apps&act=app&id=$1 [L]
RewriteRule ^apps(/?)+$ /index.php?go=apps&act=search [L]
RewriteRule ^apps(/?)+$ /index.php?go=apps&act=view [L]
RewriteRule ^apps(/?)+$ /index.php?go=apps&act=mydel [L]
RewriteRule ^apps(/?)+$ /index.php?go=apps&act=install [L]
RewriteRule ^editapp/create(/?)+$ /index.php?go=editapp&act=create&id=$1 [L]
RewriteRule ^editapp/info_([0-9]+)(/?)+$ /index.php?go=editapp&act=info&id=$1 [L]
RewriteRule ^editapp/options_([0-9]+)(/?)+$ /index.php?go=editapp&act=options&id=$1 [L]
RewriteRule ^editapp/payments_([0-9]+)(/?)+$ /index.php?go=editapp&act=payments&id=$1 [L]
RewriteRule ^editapp/admins_([0-9]+)(/?)+$ /index.php?go=editapp&act=admins&id=$1 [L]
# Баги
RewriteCond %{QUERY_STRING} ^act=([a-z]+)
RewriteRule ^(.*)bugs $1index.php?go=bugs [QSA,L]
RewriteCond %{QUERY_STRING} ^id=([0-9]+)
RewriteRule ^(.*)bugs $1index.php?go=bugs [QSA,L]
RewriteRule ^bugs(/?)+$ index.php?go=bugs [L]
# API
RewriteRule ^method/messages.get method/messages.get.php [L]
RewriteRule ^method/messages.set method/messages.set.php [L]
RewriteRule ^api(/?)+$ method/messages.set method/messages.set.php [L]
# Разработчикам
RewriteRule ^dev(/?)+$ index.php?go=developers [L]
RewriteRule ^dev/met(/?)+$ index.php?go=met [L]
RewriteRule ^dev/native(/?)+$ index.php?go=native [L]
RewriteRule ^dev/tt(/?)+$ index.php?go=tt [L]
RewriteRule ^dev/standalone(/?)+$ index.php?go=standalone [L]
RewriteRule ^dev/sites(/?)+$ index.php?go=sites [L]
RewriteRule ^dev/rules(/?)+$ index.php?go=rules [L]
# Статистика страницы пользователя
RewriteRule ^my_stats(/?)+$ index.php?go=my_stats [L]
# Страница юзера
RewriteRule ^u([0-9]+)(/?)+$ index.php?go=profile&id=$1 [L]
RewriteRule ^u([0-9]+)after(/?)+$ index.php?go=profile&id=$1&after=1 [L]
# Редактирование страницы
RewriteRule ^editmypage(/?)+$ index.php?go=editprofile [L]
RewriteRule ^editmypage/contact(/?)+$ index.php?go=editprofile&act=contact [L]
RewriteRule ^editmypage/interests(/?)+$ index.php?go=editprofile&act=interests [L]
RewriteRule ^editmypage/all(/?)+$ index.php?go=editprofile&act=all [L]
-
Вопрос заданболее трёх лет назад
-
779 просмотров
Пригласить эксперта
Знаете как я поступаю в таких ситуациях? Когда не знаю где ошибка и нет подсказок
Делю код на несколько частей, поочередно удаляю один за другим и смотрю работает или нет, до тех пор пока не заработает, а потом уже работаю над последней удаленною частью, все очень просто, Ватсон
в /var/log/apache2/error.log смотрите, там будет указана, какая именно из директив htacces на этом сервере не работает.
Скорее всего нужно a2enmod rewrite или a2enmod filter
-
Показать ещё
Загружается…
09 июн. 2023, в 01:21
10000 руб./за проект
09 июн. 2023, в 01:06
50000 руб./за проект
09 июн. 2023, в 00:36
1000 руб./за проект
Минуточку внимания
Модератор: SLEDopit
-
NARCOMAN
- Сообщения: 88
- ОС: Linux Mandriva 2007
Решено: Options -indexes
ровно 2 часа гуглю, кручу (/etc/init.d/apache2 restart) мучю (vi /etc/apache2/httpd.conf)… и не че понять не магу!
История такова! при в писании строчки Options -Indexes в .htaccess мне вылазит ошибка Error 500, нооо при этом .htaccess работает 100% т.к. другии опции в нем есть (кому интересно всего одна и вот она: DirectoryIndex go.php) и она работаеть — да вообщем эт не важно .htaccess… в конфиге самого апача в своей директиве я прописал Options -Indexes!!! и не рабоатет!!! все равно не работает!!! помогите я уже запарился реально… не знаю что и думать… может весь сервак перезагрузить? я апачь рас 50 уже перезапускалл… :wacko
OC: SUSE 11.1, Apache2, :heart
Код: Выделить всё
DocumentRoot "/home/drug_addict/public_html"
<Directory "/home/drug_addict/public_html">
Options None
AllowOverride all
Order allow,deny
Allow from all
</Directory>
Alias /icons/ "/usr/share/apache2/icons/"
<Directory "/usr/share/apache2/icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin/ "/srv/www/cgi-bin/"
<Directory "/srv/www/cgi-bin">
AllowOverride None
Options +ExecCGI -Includes
Order allow,deny
Allow from all
</Directory>
<IfModule mod_userdir.c>
UserDir public_html
Include /etc/apache2/mod_userdir.conf
</IfModule>
Include /etc/apache2/conf.d/*.conf
Include /etc/apache2/conf.d/apache2-manual?conf
ServerName server
ServerAdmin drug_addict@angarskhome.ru
всяка всяка… :wizard разна уже переделывал то в .conf меняю как Options на None (как и щас) и в .htaccess пишу -Indexes так и в .conf делаю -Indexes… короче не аботает не как… помогите!
и index.php и index.html и т.д. все есть… только что вот посмотрел логи ошибок, вот что там:
Код: Выделить всё
[Wed Apr 08 17:31:41 2009] [alert] [client 100.0.0.2] /home/drug_addict/public_html/.htaccess: Options not allowed here,
referer: http://10.100.0.14/forum//blogs/entry.php?entry=76&userid=2
[Wed Apr 08 17:31:43 2009] [alert] [client 100.0.0.2] /home/drug_addict/public_html/.htaccess: Options not allowed here
[Wed Apr 08 17:31:46 2009] [alert] [client 100.0.0.2] /home/drug_addict/public_html/.htaccess: Options not allowed here
AllowOverride None везде переделал в AllowOverride all и в /etc/apache2/defaults-server.conf и в httpd.conf короче везде… везде сделал Options -Indexes, естественно после этого /etc/init.d/apache2 restart ииии не работает… все равно не работает! вот бред…
ICQ# 23-23—30 , 42-90-25
No money no funny honye!
What can i do for you ? Paid…
-
NARCOMAN
- Сообщения: 88
- ОС: Linux Mandriva 2007
Re: Решено: Options -indexes
Сообщение
NARCOMAN » 08.04.2009 15:33
Frank писал(а): ↑
08.04.2009 15:14
покажите ваш .htaccess
вот он (лежит в корне):
так все нормально…
а вот так:
Код: Выделить всё
DirectoryIndex 2/index.php
Options -Indexes
вылетает ошибка Error 500 (типа ошибка сервера).
причем httpd.conf
Код: Выделить всё
<Directory />
Options all
AllowOverride all
Order deny,allow
Deny from all
</Directory>
и мой конфиг default-server.conf:
Код: Выделить всё
<Directory "/home/drug_addict/public_html">
Options all
AllowOverride all
Order allow,deny
Allow from all
</Directory>
как видно я уже поменял Options -Indeses (как было раньше) на Options all изначально вообще было Options None но как только везде я не менял эту Options постояно при добовлении в .htaccess строчки Options -Indexes вылетала ошибка Error 500. Мне знаите даже не надо прописывать что то в .htaccess мне просто надо чтобы сервер не показывал список файлов, а показывал сразу индексную страничку (index.htm или index.html или index.php), и ещё рас напомню index.xxx в каталоге присутствует и сиволы самого файла index написаны на латинеце, а то мне тут сказали может X (икс) это X(хэ) русская =))) нет народ издевается точно
Может где то какой то модуль не прописан? А где прописано само определение что он должен открывать именно index ??? может это определение не прописано… или что то типа того… просто я уже не знаю где и что копать =((( в голову уже лезут всякие бредовые не вероятные мысли!
ICQ# 23-23—30 , 42-90-25
No money no funny honye!
What can i do for you ? Paid…
-
NARCOMAN
- Сообщения: 88
- ОС: Linux Mandriva 2007
Re: Решено: Options -indexes
Сообщение
NARCOMAN » 08.04.2009 15:58
объясню почему присутствует вот эта директива
— у меня в корне просто нету index файла а при открытии http://myhost/ надо чтобы открывался именно этот index.php который лежит в каталоге /2/ — короче на эту дериктиву по прошу не обращать внимания, мол у тебя нету index файла к корне… знаю что нету… есть index в других каталогах… например /docs/html/ , надо чтобы список файлов не показывался и все, то есть при обращении к http://myhost/docs/html/ была ошибка 404 — это если нету index.html файла, а если есть то конечно должен открываться именно он… конечно же не которые мне псиали что мол можно смерится с этим просто закинь в каждый каталог файл .htaccess с этой строчкой
значите это не выход… это маразм!
ха Frank, я тока нажал отправить кнопку, как вы уже написали своё сообщение! а я ведь так и знал что вы заострите своё внимание именно на этой строчке…
Frank писал(а): ↑
08.04.2009 15:53
Читайте документацию: http://httpd.apache.org/docs/2.2/mod/mod_d…#directoryindex
В директиве DirectoryIndex вы указываете относительный путь, т.е. при открытии http://ваш_сайт/ произойдёт попытка открытия http://ваш_сайт/2/index.php и при открытии http://ваш_сайт/2/ будет попытка открытия http://ваш_сайт/2/2/index.php
Как я понимаю, вы должны указать полный пусть от корня сайта, т.е. /2/index.php
эта директива абсолютно рабочая, можно указывать и относительную ссылку от корня, и вней не суть, тема совсем про другое… короче, мне жалко что вы меня не поняли =( блин…
ICQ# 23-23—30 , 42-90-25
No money no funny honye!
What can i do for you ? Paid…
-
NARCOMAN
- Сообщения: 88
- ОС: Linux Mandriva 2007
Re: Решено: Options -indexes
Сообщение
NARCOMAN » 08.04.2009 16:07
а я уже какой рас перечитываю вот это: http://httpd.apache.org/docs/2.2/mod/core.html#options и делаю как написано… но не работает… может мне написать разработчикам Apache?
Frank писал(а): ↑
08.04.2009 15:53
В директиве DirectoryIndex вы указываете относительный путь, т.е. при открытии http://ваш_сайт/ произойдёт попытка открытия http://ваш_сайт/2/index.php и при открытии http://ваш_сайт/2/ будет попытка открытия http://ваш_сайт/2/2/index.php
как не странно но при обращении http://мой_сайт/2/ он не открывает http://мой_сайт/2/2/ а открывает список файлов каталога http://мой_сайт/2/
ICQ# 23-23—30 , 42-90-25
No money no funny honye!
What can i do for you ? Paid…
-
NARCOMAN
- Сообщения: 88
- ОС: Linux Mandriva 2007
Re: Решено: Options -indexes
Сообщение
NARCOMAN » 08.04.2009 16:20
Вообщем если все скажем так обобщить, что бы не было не каких других вопросов и т.д. и т.п. то были изначально совершенны такие действия:
1. Установил SUSE 11.1 (сразу с apaсhe)
2. Зашел в YaST запустил апач
3. залил файлы в корнеь, обращасюь к http://мой_сайт/ открывается список файлов.
4. создаю .htaccess c директивой «DirectoryIndex 2/index.php», сохраняю, .htaccess этот заливаю в корень сайта
5. захожу http://мой_сайт/ открывается список файлов
6. лезу в конфиг апача исправляю AllowOverride None на AllowOverride all
7. захожу http://мой_сайт/ открывается 2/index.php
8. захожу http://мой_сайт/docs/html/ или docs/html/1/ docs/html/2/ docs/html/3/ и т.д. открывается список файлов
9. иду в корень сайта открываю .htaccess добавляю строку Options -Indexes и вооля >
10. ERROR 500
Xx
Xx
Xx
Xxx и т.д =(( что тока я не делал ну не хочет он открывать index файлы =(((
ICQ# 23-23—30 , 42-90-25
No money no funny honye!
What can i do for you ? Paid…
-
Frank
- Сообщения: 1059
- ОС: Ubuntu, Debian
- Контактная информация:
Re: Решено: Options -indexes
Сообщение
Frank » 08.04.2009 16:21
В конфиге вашего сайта (default-server.conf как я понимаю) вместо Options all напишите Options -Indexes, а .htaccess вам вообще не нужен по идее
-
NARCOMAN
- Сообщения: 88
- ОС: Linux Mandriva 2007
Re: Решено: Options -indexes
Сообщение
NARCOMAN » 08.04.2009 16:23
Frank писал(а): ↑
08.04.2009 16:21
…
вот оно… я уже на XX формах пишу этот вопрос… не кто не знает ответа… все ладно сори что отвлек пойду на офф. форум апача! =(((( плак…
ICQ# 23-23—30 , 42-90-25
No money no funny honye!
What can i do for you ? Paid…
-
NARCOMAN
- Сообщения: 88
- ОС: Linux Mandriva 2007
Re: Решено: Options -indexes
Сообщение
NARCOMAN » 08.04.2009 16:45
Frank писал(а): ↑
08.04.2009 16:21
В конфиге вашего сайта (default-server.conf как я понимаю) вместо Options all напишите Options -Indexes, а .htaccess вам вообще не нужен по идее
да, именно так и надо без .htaccess! или с .htaccess но в корне чтобы это правило работало для всех каталогов в которых нет обратного предопределения этого правила (Options +Indexes), но позвольте… я это уже делал на Options -Indexes в .conf файле апач вообще не реагирует…
ICQ# 23-23—30 , 42-90-25
No money no funny honye!
What can i do for you ? Paid…
-
NARCOMAN
- Сообщения: 88
- ОС: Linux Mandriva 2007
Re: Решено: Options -indexes
Сообщение
NARCOMAN » 08.04.2009 20:35
проблема решена ёу! значит… у кого такая же трабла будет смотрите подключен ли у вас mod_autoindex: http://httpd.apache.org/docs/2.0/mod/mod_autoindex.html у меня он был подключен, просто от него оталкиваясь накопал я глобальный конфиг толи для этого модуля толи вообще вообще для всего сервера… вот /etc/apache2/conf.d/inst_server.conf.in там Options +Indexes исправил на Options —Indexes и все работает =))) фсем спасибо… фсе пока проблем решена!
но вот =) в .htaccess если все таки пропсиать Options -Indexes будет всеравно ERROR 500 но мне уже до этого кхэ кхэ…
ICQ# 23-23—30 , 42-90-25
No money no funny honye!
What can i do for you ? Paid…
Ошибка с кодом 500 выдается в том случае, когда причину сбоя нельзя отнести ни к какой другой категории ошибок (502, 503 и т. д.). По сути она означает «что-то произошло, а что — непонятно». В сообщении об ошибке 500, которое выдается на странице браузера, стандартно также нет сведений о ее причинах.
Как же без наличия информации определить и исправить ошибку? На практике чаще всего она вызывается сбоями в одном из основных компонентов сайта:
- в правах доступа к файлам и каталогам;
- в файле .htaccess;
- в скриптах;
- в CMS (движке сайта).
Сразу отметим, что сбои происходят на стороне сервера, а не клиента. От браузера и операционной системы пользователя здесь ничего не зависит, и нужно искать причину ошибки 500 в конфигурации программного обеспечения сайта.
Для определения причины ошибки:
- смотрим логи сервера — часто по ним можно понять, на каком этапе произошел сбой;
- если логи не добавили ясности, или вы не можете их посмотреть — перебирайте все возможные варианты, начиная с тех, которые кажутся наиболее вероятными в вашем случае. Например, если вы не трогали перед возникновением ошибки файл .htaccess, но устанавливали новые плагины на сайт, начать нужно с проверки последнего.
Некорректные права доступа
Каждый каталог и файл на сервере имеет определенную трехзначную кодировку прав доступа к нему. Например, 777 — такой доступ означает, что любой сторонний пользователь может изменять этот файл или папку. Для обеспечения безопасности сервер блокирует файлы, которые имеют такие широкие права доступа. В результате страница сайта не отображается, так как сервер не отдает содержимое нужных файлов, и выдается ошибка 500.
Рекомендуется выставлять права не выше 750 — для папок, и 640 — для исполняемых файлов.
Если вы недавно создавали новый каталог на сервере или загружали новые файлы, у них могут быть слишком широкие права доступа. Проверьте и исправьте их.
Как определить, что ошибка 500 возникла именно из-за этого?
Во-первых, посмотрите, какой вид имеет ошибка на экране браузера. Если вы видите текст «Internal Server Error» — то, скорее всего, дело именно в .htaccess. В случаях сбоев в работе скриптов или CMS текст ошибки обычно выглядит как «HTTP ERROR 500».
Во-вторых, попробуйте добавить в конец наименования файла .htaccess любые символы. Например, переименуйте его в .htaccess2233. Сервер не будет использовать переименованный файл, и сайт будет запускаться без него. Перезагрузите страницу, на которой была ошибка. Если она исчезла — значит, причина в .htaccess.
Что может быть неверным в файле и как это исправить?
Самый простой способ устранить ошибку 500 из-за .htaccess — отменить последние изменения в нем или загрузить файл из бекапа. Если это невозможно или нежелательно, проверьте эти варианты:
- наличие невидимых неразрывных пробелов (BOM). Если вы изменяли файл, используя не совсем подходящий редактор или кодировку, в него могли быть добавлены такие символы. Пересохраните файл в кодировке UTF-8 и загрузите на сервер;
- знак # не в начале строки. Этот знак ставится перед началом комментария. Некоторые пытаются добавить комментарий в .htaccess в конце строки, но последние версии Apache не поддерживают такой синтаксис, и в результате вы видите ошибку 500. Для комментария нужно выделять целую строку;
- некорректные директивы Options. В зависимости от версии серверного ПО, можно их либо полностью закомментировать, либо попробовать исправить Options All -Indexes на директиву Options -Indexes, а Options +FollowSymLinks на директиву Options +SymLinksIfOwnerMatch;
- некорректные директивы +ExecCGI, IfVersion, AddHandler, php_value, php_flag, MultiViews. Если в вашем файле встречаются такие, попробуйте поочередно их удалить (или закомментировать), проверяя, исчезла ли ошибка.
Сбои в скриптах
Ошибка 500 здесь может вызываться двумя основными причинами:
- Неверный синтаксис или права доступа скрипта.
- Слишком долгое выполнение скрипта.
В первом случае:
- включите отображение ошибок в настройках сервера (или обратитесь к техподдержке, они помогут это сделать). Тогда при перезагрузке страницы вы увидите надпись, в которой будет имя файла и конкретная строка в нем, вызывающая ошибку;
- проверьте, правильно ли вы загружали файлы скриптов через FTP , а лучше перезагрузите их правильным образом — в режиме ASCII. Хотя для некоторых FTP-клиентов, например, для FileZilla, лучше включать двоичный режим передачи: так содержимое файлов будет передано корректно и без искажений;
- проверьте права доступа к файлу скриптов — они должны быть выставлены на уровне 750 или 755.
Во втором случае проверьте, достаточно ли у вас оперативной памяти на тарифе, посмотрите логи, чтобы определить, как долго выполняется скрипт. Для исправления ошибки 500, возможно, потребуется оптимизировать скрипт для более экономного использования памяти или перейти на расширенный тариф.
Ошибки в CMS
- Довольно часто ошибка 500 возникает после установки плагинов и дополнений к CMS<. Особенно это актуально на WordPress. Сайт на этом движке, как конструктор, собирается из базы и десятков различных плагинов. При этом плагины могут конфликтовать между собой. Решение простое — отключите дополнения, которые вы недавно устанавливали, и посмотрите, исчезнет ли ошибка. Если да — дело в плагине и лучше поставить другой.
- Устаревшая версия PHP. Она может конфликтовать с новыми скриптами или плагинами. Для обновления версии обратитесь к специалисту.
- Обновление версии движка. Такие работы также лучше проводить при поддержке специалистов, которые комплексно проверят совместимость скриптов и дополнений с новой версией. Иначе можем получить конфликт и ошибку 500.
Форум программистов Vingrad
Поиск: |
|
Опции темы |
DRUG_ADDICT |
|
||
Шустрый Профиль Репутация: нет
|
История такова! при вписании строчки Options -Indexes в .htaccess мне вылазит ошибка Error 500, нооо при этом .htaccess работает 100% т.к. другии опции в нем есть (кому интересно всего одна и вот она: DirectoryIndex go.php) и она работаеть — да вообщем эт не важно .htaccess… в конфиге самого апача в своей директиве я прописал Options -Indexes!!! и не рабоатет!!! все равно не работает!!! помогите я уже запарился реально… не знаю что и думать… может весь сервак перезагрузить? я апачь рас 50 уже перезапускалл… OC: SUSE 11.1, Apache2,
всяка всяка… Это сообщение отредактировал(а) DRUG_ADDICT — 7.4.2009, 22:57 ——————— ICQ# 23-23-30 What can i do for you ? Paid…»Свобода лечит лучше всего» А.С. Неил. Самерхилт. |
||
|
|||
ZeeLax |
|
||
Эксперт Профиль
Репутация: 2
|
Какая разница, сколько гуглить? В каком случае у вас пятисотая ошибка? При запросе какого документа? Что в логах? ——————— Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none. |
||
|
|||
marykone |
|
||||
Эксперт Профиль
Репутация: 10
|
такое есть ? в данной директиве уберите. ps
——————— получил ответ, пометь вопрос как решенный (правый верхний угол вашей темы). |
||||
|
|||||
DRUG_ADDICT |
|
||||||||||||
Шустрый Профиль Репутация: нет
|
пятисотая ошибка в том случии если я в .htaccess пропишу данную опцию (Options -Indexes) и ошибка вылазит при запросе любого документа… в логах че пишится… ещё не смотрел щас погляжу вылажу… Добавлено @ 11:35 Добавлено @ 11:39
Добавлено через 14 минут и 42 секунды
AllowOverride None везде переделал в AllowOverride all и в /etc/apache2/defaults-server.conf и в httpd.conf короче везде… везде сделал Options -Indexes, и не работает… вот бред! Это сообщение отредактировал(а) DRUG_ADDICT — 8.4.2009, 11:40 ——————— ICQ# 23-23-30 What can i do for you ? Paid…»Свобода лечит лучше всего» А.С. Неил. Самерхилт. |
||||||||||||
|
|||||||||||||
DSsupport |
|
||
Шустрый Профиль Репутация: 5
|
В логе:
500-я ошибка говорит о том, что в htaccess в /home/drug_addict/public_html/ прописаны директивы которые не допускается в нем использовать. |
||
|
|||
DRUG_ADDICT |
|
||||||
Шустрый Профиль Репутация: нет
|
вот что там:
причем httpd.conf
и мой конфиг default-server.conf:
эээ… есть два способа запретить просмотр списка файлов: 1. в конфиге апача пропсиать Options -Indexes — делал, не работает! Ошибки ERROR 500 нету… есть соображения? Может где то какой то модуль не прописан? И где прописано само определение что он должен открывать именно index ??? может это определение не прописано… или что то типа того… просто я уже не знаю где и что копать =((( в голову уже лезут всякие бредовые не вероятные мысли! :drunk: Это сообщение отредактировал(а) DRUG_ADDICT — 8.4.2009, 17:28 ——————— ICQ# 23-23-30 What can i do for you ? Paid…»Свобода лечит лучше всего» А.С. Неил. Самерхилт. |
||||||
|
|||||||
DSsupport |
|
||
Шустрый Профиль Репутация: 5
|
Вот этот модуль должен быть подключен: Детали:
Описание |
||
|
|||
DRUG_ADDICT |
|
||
Шустрый Профиль Репутация: нет
|
DSsupport спасибо тебе огромное человечище! =))) скока я винете не копал не че про этот мод не слышал… вообщето он у меня уже был и был прописан =) просто для него были глобальные конфигурации типа глобалнее чем для «/» даже! вот: /etc/apache2/conf.d/inst_server.conf.in там написано было: Options +Indexes… исправил на Options -Indexes и все работает =))) но вот =) в .htaccess если все таки пропсиать Options -Indexes будет всеравно ERROR 500 ——————— ICQ# 23-23-30 What can i do for you ? Paid…»Свобода лечит лучше всего» А.С. Неил. Самерхилт. |
||
|
|||
|
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) |
0 Пользователей: |
« Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема » |