Ich richte eine neue Site lokal auf einer Windows-Maschine zum Testen ein. Im Dokumentenstamm, wenn ich eine index.html
habe, wird es dem Browser ohne Probleme serviert. Wenn ich es umbenenne index.php
, erhält der Browser nichts. Kein Fehler wird serverseitig ausgelöst. Ich versuche zu verstehen, warum.Apache 2.4: PHP-Dateien werden nicht an den Browser gesendet
Vhosts
<VirtualHost *:80>
DocumentRoot "C:\websites\learn"
ServerName learn.loc
LogLevel alert rewrite:trace2
#PHP SETTINGS
php_value auto_prepend_file "C:\websites\learn\noop.php"
php_value open_basedir "C:\websites\learn"
<Directory "C:\websites\learn">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Hier ist die .htaccess
-Datei, die im Document-Root befindet:
RewriteEngine on
#point to javascript learning project
RewriteRule ^js /javascript
RewriteRule ^js/(.*) /javascript/$1
Hier ist die mod_rewrite
Protokoll generiert, wenn ich learn.loc/javascript
laden (dieser Ordner hat eine index.php
Datei)
[initial] [perdir C:/websites/learn/] pass through C:/websites/learn/javascript/
[subreq] [perdir C:/websites/learn/] pass through C:/websites/learn/javascript/index.html
[subreq] [perdir C:/websites/learn/] pass through C:/websites/learn/javascript/index.htm
[subreq] [perdir C:/websites/learn/] pass through C:/websites/learn/javascript/index.php
Dem Apache- oder PHP-Fehlerprotokoll wird nichts hinzugefügt; Der Browser selbst empfängt status code 200
, zusammen mit den folgenden Antwort-Headern
Date: "..."
Server: "Apache/2.4.16 (Win32) PHP/5.6.23"
X-Powered-By: "PHP/5.6.23"
Content-Length: "0"
Keep-Alive: "timeout=5, max=100"
Connection: "Keep-Alive"
Content-Type: "text/html; charset=UTF-8"
Antworttext ist eine leere Zeichenfolge. Wie gesagt, wenn ich die Datei in index.html
umbenenne, wird der Inhalt (Vanille-HTML-Datei) angezeigt. Was könnte passieren?