it-swarm.com.de

500 Serverfehler: Verzeichnis kann nicht bedient werden: Kein passender Verzeichnisindex

Ich habe kürzlich ein GoDaddy-Hosting-Paket gekauft und alle meine Website-Dateien, die hauptsächlich in PHP geschrieben wurden, von Grund auf hochgeladen. Wenn ich jedoch versuche, auf meine Website zuzugreifen, wird nur der Hauptteil der Datei geladen und anschließend ein Fehler von 500 im Inspektionsfenster angezeigt. Ein bisschen gegoogelt hat mir gesagt, dass es nicht viele Informationen gibt, die von einem 500-Fehler stammen und die meine cPanel-Protokolle überprüfen.

Die cPanel-Protokolle:

[Mon Sep 11 09:38:33.529493 2017] [autoindex:error] [pid 22333:tid 140627618502400] [client xx.xx.xx.xx:53218] AH01276: Cannot serve directory /home/mrzander/public_html/: No matching DirectoryIndex (index.html.var,index.htm,index.html,index.xhtml,index.wml,index.Perl,index.pl,index.plx,index.ppl,index.cgi,index.jsp,index.js,index.jp,index.php4,index.php3,index.php,index.phtml,index.shtml,default.htm,default.html,home.htm,index.php5,Default.html,Default.htm,home.html,welcome.html) found, and server-generated directory index forbidden by Options directive
[Mon Sep 11 09:26:18.658155 2017] [autoindex:error] [pid 22417:tid 140627555563264] [client xx.xx.xx.xx:52447] AH01276: Cannot serve directory /home/mrzander/public_html/: No matching DirectoryIndex (index.html.var,index.htm,index.html,index.xhtml,index.wml,index.Perl,index.pl,index.plx,index.ppl,index.cgi,index.jsp,index.js,index.jp,index.php4,index.php3,index.php,index.phtml,index.shtml,default.htm,default.html,home.htm,index.php5,Default.html,Default.htm,home.html,welcome.html) found, and server-generated directory index forbidden by Options directive
[Mon Sep 11 08:38:29.568926 2017] [autoindex:error] [pid 9707:tid 140627871168256] [client 158.69.2.15:37794] AH01276: Cannot serve directory /home/mrzander/public_html/: No matching DirectoryIndex (index.html.var,index.htm,index.html,index.xhtml,index.wml,index.Perl,index.pl,index.plx,index.ppl,index.cgi,index.jsp,index.js,index.jp,index.php4,index.php3,index.php,index.phtml,index.shtml,default.htm,default.html,home.htm,index.php5,Default.html,Default.htm,home.html,welcome.html) found, and server-generated directory index forbidden by Options directive
[Mon Sep 11 04:46:46.503303 2017] [autoindex:error] [pid 6487:tid 140627702421248] [client 69.58.178.58:50763] AH01276: Cannot serve directory /home/mrzander/public_html/: No matching DirectoryIndex (index.html.var,index.htm,index.html,index.xhtml,index.wml,index.Perl,index.pl,index.plx,index.ppl,index.cgi,index.jsp,index.js,index.jp,index.php4,index.php3,index.php,index.phtml,index.shtml,default.htm,default.html,home.htm,index.php5,Default.html,Default.htm,home.html,welcome.html) found, and server-generated directory index forbidden by Options directive

Andere StackEchange-Sites erwähnten das Bearbeiten verschiedener conf-Dateien, aber ich habe keinen Zugriff auf diese (httpd.conf, Apache2.conf, etc .; ich habe nur Zugriff auf eine .htaccess -Datei im public_html-Ordner .

Muss ich mit der Datei .htaccess etwas tun, um diesen Fehler zu beheben?

EDIT: Ich habe vergessen, etwas hinzuzufügen. Die aktuelle index.php für die Website befindet sich in einem öffentlichen Ordner innerhalb von public_html. Wenn also jemand zu mysite.com wechselt, werden sie zu mysite.com/public/index.php weitergeleitet. Ich habe heute einen index.html zum public_html -Ordner hinzugefügt, um zu sehen, ob er den Fehler überleben würde. es hat nicht.

EDIT2: Die .htaccessDatei

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*) https://%{HTTP_Host}%{REQUEST_URI} [L,R=301]
ErrorDocument 404 /404.html
ErrorDocument 403 /403.html
DirectoryIndex index.php index.html public/index.php  

EDIT3: Neue Protokolle

[Mon Sep 11 20:16:48.016315 2017] [core:alert] [pid 23998:tid 140627618502400] [client 172.6.118.47:49812] /home/mrzander/public_html/.htaccess: Illegal option noindexes
[Mon Sep 11 20:16:48.016158 2017] [core:alert] [pid 23998:tid 140627618502400] [client 172.6.118.47:49812] /home/mrzander/public_html/.htaccess: Illegal option noindexes
[Mon Sep 11 20:15:49.343249 2017] [rewrite:error] [pid 25357:tid 140627702421248] [client 172.6.118.47:49809] AH00670: Options FollowSymLinks and SymLinksIfOwnerMatch are both off, so the RewriteRule directive is also forbidden due to its similar ability to circumvent directory restrictions : /home/mrzander/public_html/403.html
[Mon Sep 11 20:15:49.343177 2017] [rewrite:error] [pid 25357:tid 140627702421248] [client 172.6.118.47:49809] AH00670: Options FollowSymLinks and SymLinksIfOwnerMatch are both off, so the RewriteRule directive is also forbidden due to its similar ability to circumvent directory restrictions : /home/mrzander/public_html/
[Mon Sep 11 20:15:44.029303 2017] [rewrite:error] [pid 8377:tid 140627733890816] [client 172.6.118.47:49807] AH00670: Options FollowSymLinks and SymLinksIfOwnerMatch are both off, so the RewriteRule directive is also forbidden due to its similar ability to circumvent directory restrictions : /home/mrzander/public_html/403.html
[Mon Sep 11 20:15:44.029232 2017] [rewrite:error] [pid 8377:tid 140627733890816] [client 172.6.118.47:49807] AH00670: Options FollowSymLinks and SymLinksIfOwnerMatch are both off, so the RewriteRule directive is also forbidden due to its similar ability to circumvent directory restrictions : /home/mrzander/public_html/
1
MrZander

Also habe ich mich endlich an den GoDaddy-Support gewandt. Nach einer Stunde stellten wir fest, dass möglicherweise ein Fehler in meinem Code vorliegt. Und nach einigem Stöbern und Testen mit ein paar einfachen Dateien hatte er recht.

Ich habe Folgendes zu meiner index.php -Datei hinzugefügt ...

error_reporting(E_ALL);
ini_set('display_errors', 1);

UND NIEDRIG UND GEHALTEN:

Fatal error: Uncaught Error: Call to undefined function mysqli_fetch_all() in /home/[redacted]/public_html/private/database.php:147 Stack trace: #0 /home/[redacted]/public_html/public/layouts/navigation.php(4): MySQLDatabase->fetchAllSubjects() #1 /home/[redacted]/public_html/index.php(49): include('/home/mrzander/...') #2 {main} thrown in /home/[redacted]/public_html/private/database.php on line 147

Das erklärt, warum der Header geladen wurde und sonst nichts und warum der Server einen 500-Fehler auslöste. Ich hatte die Möglichkeit eines Fehlers völlig ignoriert, da mysqli_fetch_all() ohne Probleme auf meinem lokalen Computer funktionierte.

Die Lektion, die wir hier gelernt haben, lautet: Wenn Sie einen 500-Fehler erhalten, könnte dies möglicherweise ein Problem mit Ihrem Code sein. Ich werde das heute beheben und alles sollte in Ordnung sein. Vielen Dank an alle, die mitgeholfen haben.

3
MrZander

Es scheint, dass sich im Ordner public_html keine index.html oder index.php (oder andere) befinden. Sind Sie sicher, dass es nach dem Upload mindestens einen Dateinamen index.php gibt? Können Sie im FTP- oder Dateimanager nachsehen, ob die Datei wirklich vorhanden ist?

1