Ich habe gerade CentOS, Apache und PHP installiert. Wenn ich meine Website http://example.com/myapp/ besuche , heißt es "verboten". 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 behebt?
Während das Hinzufügen von 'DirectoryIndex index.php' zu einer .htaccess-Datei möglicherweise funktioniert,
HINWEIS:
Dies wird aus http://httpd.apache.org/docs/1.3/howto/htaccess.html zitiert.
Obwohl dies auf eine ältere Version von Apache verweist, glaube ich, dass das Prinzip immer noch gilt.
Das Hinzufügen der folgenden Elemente zu Ihrer httpd.conf (wenn Sie Zugriff darauf haben) wird als bessere Form angesehen, verursacht weniger Server-Overhead und hat genau den gleichen Effekt:
quelle
Vermutlich würde ich sagen, dass der Verzeichnisindex auf index.html oder eine andere Variante eingestellt ist. Versuchen Sie Folgendes:
Dadurch erhält index.html weiterhin Vorrang vor index.php (praktisch, wenn Sie eine Wartungsseite aufrufen müssen).
quelle
Dies könnte für jemanden hilfreich sein. Hier ist das Snippet von httpd.conf (Apache Version 2.2 Windows)
Jetzt wird nach der Datei index.html gesucht. Wenn sie nicht gefunden wird, wird nach der Datei index.php gesucht.
quelle
Versuchen Sie, eine .htaccess-Datei mit den folgenden Anweisungen zu erstellen
Bearbeiten: Gibt es eigentlich kein "PHP-Apache" -Paket oder etwas, das Sie mit beiden installieren sollen?
quelle
Ich hatte das gleiche Problem mit einer Site auf unserer direkt vom Administrator gehosteten Site. Ich fügte hinzu
Als benutzerdefinierte httd-Erweiterung (die einer Site-
httpd
Datei Code hinzufügt ) wurde die Site dannindex.php
standardmäßig ausgeführt.quelle
Gleiches Problem 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 ausgab:
Verwenden der Befehle:
Das Problem wurde behoben.
quelle
a2enmod
?Zur Info: In einigen Apache2-Konfigurationen müssen Sie den DirectoryIndex-Befehl in mods_enabled / dir.conf hinzufügen (er befindet sich nicht in apache2.conf).
quelle
Nachdem ich das alles gelesen und versucht hatte, es zu beheben, bekam ich eine einfache Lösung im Ubuntu-Forum ( https://help.ubuntu.com/community/ApacheMySQLPHP ). Das Problem liegt beim libapache2-mod-php5-Modul. Aus diesem Grund lädt der Browser die Datei index.php herunter, anstatt die Webseite anzuzeigen. Mach Folgendes. Wenn sudo a2enmod php5 kein Modul zurückgibt, liegt das Problem bei libapache2-mod-php5. Löschen Entfernen Sie das Modul mit dem Befehl sudo apt-get --purge entfernen libapache2-mod-php5 Dann installieren Sie es erneut sudo apt-get installieren libapache2-mod-php5
quelle
Ich hatte ein ähnliches Symptom. In meinem Fall hatte meine Idiotie jedoch ungewollt auch eine leere index.html-Datei im Webstammordner. Apache hat dies anstelle von index.php bereitgestellt, als ich index.php nicht explizit angefordert habe, da
DirectoryIndex
es wie folgt konfiguriert wurdemods-available/dir.conf
:Das heißt, 'index.html' wird in der Prioritätsliste vor 'index.php' angezeigt. Das Entfernen der Datei index.html aus dem Webstamm hat das Problem natürlich behoben. D'oh!
quelle
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 index.php wie unten nach DirectoryIndex nach rechts und speichern Sie die Datei. Starten Sie dann den Apache-Server neu."
service apache2 restart
"Wenn Sie dir.conf nicht sehen, müssen Sie es laden (google for how to)
Getan.
quelle
Dieser Beitrag mag alt sein, aber ich poste ihn nur, falls er einer anderen Person hilft. Ich würde nicht empfehlen, eine .htaccess-Datei in Ihrem Webstamm zu erstellen und den Index zu ändern. Ich finde es besser, den Schritten zu folgen
Gehen Sie zum conf-Ordner Ihres Apache-Ordners
C:\Apache24\conf
Öffnen Sie die Datei mit dem Namen
httpd.conf
Gehen Sie zum Abschnitt
Fügen Sie index.php hinzu, wie unten gezeigt
Auf diese Weise werden weiterhin index.html und index.php als Standardindex ausgewählt, wobei index.html jedoch Priorität eingeräumt wird, 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
quelle
Dieser funktioniert wie ein Zauber!
Zuerst
dann danach von
zu
quelle