it-swarm.com.de

index.php wird standardmäßig nicht geladen

Ich habe gerade CentOS, Apache und PHP installiert. Wenn ich meine Website http://example.com/myapp/ besuche, wird "verboten" angezeigt. Standardmäßig wird die Datei index.php nicht geladen.

Wenn ich http://example.com/myapp/index.php besuche, funktioniert es einwandfrei.

Irgendeine Idee, wie man dieses Problem beheben kann? 

95
001

Apache muss so konfiguriert sein, dass index.php als Indexdatei erkannt wird.

Der einfachste Weg dies zu erreichen ..

  1. Erstellen Sie eine .htaccess-Datei in Ihrem Webstammverzeichnis.

  2. Zeile hinzufügen ...

DirectoryIndex index.php

Hier ist eine Ressource bezüglich der Angelegenheit ...
http://www.twsc.biz/twsc_hosting_htaccess.php

Bearbeiten: Ich gehe davon aus, dass Apache so konfiguriert ist, dass .htaccess-Dateien zugelassen werden. Ist dies nicht der Fall, müssen Sie die Einstellung in der Konfigurationsdatei von Apache (httpd.conf) ändern.

143
John Himmelman

Das Hinzufügen von 'DirectoryIndex index.php' zu einer .htaccess-Datei kann funktionieren.

HINWEIS:

Im Allgemeinen sollten Sie niemals .htaccess-Dateien verwenden

Dies wird aus http://httpd.Apache.org/docs/1.3/howto/htaccess.html zitiert.
Obwohl sich dies auf eine ältere Version von Apache bezieht, glaube ich, dass das Prinzip immer noch gilt.

Wenn Sie Folgendes zu Ihrem httpd.conf hinzufügen (wenn Sie Zugriff darauf haben), wird dies als besseres Format angesehen, verursacht weniger Server-Overhead und hat genau die gleiche Wirkung:

<Directory /myapp>
DirectoryIndex index.php
</Directory>
95
M_M

Ich würde sagen, der Verzeichnisindex ist auf index.html oder eine andere Variante gesetzt:

DirectoryIndex index.html index.php

Dies gibt index.html Vorrang vor index.php (praktisch, wenn Sie eine Wartungsseite aufrufen müssen).

38
Ben Rowe

Dies könnte für jemanden hilfreich sein. Hier ist der Ausschnitt aus httpd.conf (Apache Version 2.2 Windows).

# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
    DirectoryIndex index.html
    DirectoryIndex index.php
</IfModule>

jetzt wird nach der Datei index.html gesucht, wenn sie nicht gefunden wird, wird nach index.php gesucht.

12
Maruf

Ich hatte das gleiche Problem mit einer Website auf unserer direkt von Administratoren gehosteten Website. Ich fügte hinzu

DirectoryIndex index.php

als benutzerdefinierte httd-Erweiterung (die einer httpd-Datei der Sites Code hinzufügt) und die Site dann standardmäßig den index.php ausgeführt hat.

3
Phil Errington

Erstellen Sie eine .htaccess-Datei mit den folgenden Anweisungen

DirectoryIndex index.php

Edit: Eigentlich gibt es kein 'php-Apache'-Paket oder etwas, das Sie mit beiden installieren sollten?

3
animuson

Ich hatte ein ähnliches Symptom. In meinem Fall hatte meine Idiotie jedoch unabsichtlich eine leere index.html-Datei im Web-Root-Ordner. Apache stellte dies anstelle von index.php bereit, als ich index.php nicht explizit angefordert hatte, da DirectoryIndex in mods-available/dir.conf wie folgt konfiguriert wurde:

DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm

Das heißt, 'index.html' erscheint vor 'index.php' in der Prioritätenliste. Das Entfernen der Datei index.html aus dem Webstamm hat das Problem natürlich gelöst. D'oh!

1
John Rix

Nachdem ich all das gelesen und versucht hatte, es zu beheben, erhielt ich eine einfache Lösung in Ubuntu Forum ( https://help.ubuntu.com/community/ApacheMySQLPHP ). Das Problem liegt beim Modul libapache2-mod-php5. Deshalb lädt der Browser die index.php-Datei herunter, anstatt die Webseite anzuzeigen. Mach Folgendes. Wenn das Sudo-Modul a2enmod php5 nicht vorhanden ist, liegt das Problem bei libapache2-mod-php5. Entfernen Sie das Modul mit dem Befehl Sudo apt-get --purge. Entfernen Sie libapache2-mod-php5. Installieren Sie dann erneut Sudo apt-get

1
Rupak Rokade

Für Informationen: In einigen Apache2-Versionen müssen Sie den Befehl DirectoryIndex in mods_enabled/dir.conf Hinzufügen (er befindet sich nicht in Apache2.conf).

1
Zitun

Schritt für Schritt und vollständige Anleitung für Ubuntu 16.04.4 LTS und Apache/2.4.18

"Sudo -s"

"cd /etc/Apache2/mods-enabled"

"vi dir.conf" und verschieben Sie die index.php-Datei wie folgt in den Ordner "DirectoryIndex" und speichern Sie die Datei.

DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm 

"service Apache2 restart"

Wenn dir dir.conf nicht angezeigt wird, musst du es laden (google for how to)

Erledigt.

1
Dung

Dieses funktioniert wie ein Zauber!

Zuerst

<IfModule dir_module>
    DirectoryIndex index.html
     DirectoryIndex index.php
</IfModule>

dann danach von  

<Files ".ht*">
    Require all denied
</Files>

bis

 <Files ".ht*">
    Require all granted
</Files>
1
MelPogz

Gleiche Ausgabe für mich. Meine Lösung war, dass mod_dir nicht aktiviert war und Apache2 beim Lesen der Direktive in meiner VirtualHost-Datei keinen Fehler ausgegeben hat:

DirectoryIndex index.html

Verwenden der Befehle:

Sudo a2ensite dir
Sudo sudo service Apache2 restart

Problem behoben.

0
Martlark

Dieser Post ist zwar alt, aber ich poste ihn nur, wenn er einer anderen Person hilft. Ich würde nicht raten, eine .htaccess-Datei in Ihrem Webstammverzeichnis zu erstellen und den Index zu ändern. Ich finde es besser, den Schritten zu folgen

  1. Gehe in den conf-Ordner deines Apache-Ordners 

    C:\Apache24\conf 

  2. Öffnen Sie die Datei mit dem Namen 

    httpd.conf

  3. Gehe zum Abschnitt 

    <IfModule dir_module>
       DirectoryIndex index.html 
    
     </IfModule>
    
  4. Fügen Sie index.php hinzu, wie unten gezeigt

     <IfModule dir_module>
      DirectoryIndex index.html index.php
    
    </IfModule>
    

Auf diese Weise werden index.html und index.php immer noch als Standardindex ausgewählt, jedoch wird index.html Vorrang eingeräumt, da index.html vor * index.php stand. Damit meine ich, dass Sie sowohl index.html als auch index.php im selben Verzeichnis haben. Die index.html wird als Standardindex verwendet, außer Sie schreiben ** index.php * vor index.hml

Ich hoffe es hilft jemandem ... Happy Coding

0