Ausführen von Apache auf Mac Snow Leopard (dh Webfreigabe aktiviert).
Pfade werden auf eine Weise ausgewertet, die nicht erwartet wird:
example.com/folder gibt eine Datei (ohne Ausnahme) anstelle eines Ordners zurück.
Wenn ich example.com/events/March aufrufe und eine Datei events.php in meinem Stammverzeichnis habe, gibt Apache diese Seite zurück und der Rest des Pfads wird ignoriert.
Außerdem hat dieser Aufruf Vorrang vor den Befehlen in .htaccess
z.B. Ich benötige example.com/events/March , um zu example.com/events.php?month=March umzuleiten.
Apache gibt example.com/events.php ohne das erforderliche Argument zurück.
RewriteEngine on
RewriteRule ^events/(.+)/?$ events.php?month=$1
Wenn die events.php nicht existiert (sagen wir, sie heißt eventsHandler.php), funktioniert die obige rewriteRule wunderbar. Ich weiß also, dass es kein Problem mit dem .htaccess gibt
Ich habe versucht, Dateierweiterungen sichtbar zu machen, es hat nicht geholfen.
Die Fragen sind also:
- Warum löscht Apache auf Mac die Dateierweiterung und behandelt die Datei als Ordner?
- Warum wird dies durch die .htaccess-Datei nicht außer Kraft gesetzt?
- Wie behebe ich das, dass es nur funktionieren soll?
quelle