Ich habe eine Website, die auf .htaccess Rewrite-Regeln abhängt, i mit einer Sequenz, wie diese meine URL umschreiben:.htaccess Rewrite-Regeln zeigen einen Fehler in meinem Fehlerlogdatei
www.example.com/games/car/play/123
Eigentlich gibt es keine Verzeichnisse für:
- Spiele
- Auto
- Spiel
Jeden Tag lese ich meine Fehlerprotokoll zeigen Tonnen Fehlerzeile (n) sagt:
File does not exist: /home/example.com/public_html/games
File does not exist: /home/example.com/public_html/car
File does not exist: /home/example.com/public_html/play
Ich weiß nicht, warum Apache diese gefälschte Verzeichnisse als tatsächliche reale Verzeichnisse in Betracht ziehen? Ich habe in meinem .htaccess diese Zeilen von Rewrite-Code:
RewriteEngine On
RewriteBase/
RewriteRule ^games/([a-zA-Z0-9-/]+)/play/(.*)$ details.php?slug=$1&id=$2
Jetzt Apache betrachten: Spiele/Slug/Play/id wie Verzeichnisse und es ist nicht nur eine gefälschte URL-Sequenz. Auch wenn ich für untere Seite nach unten:
www.example.com/games/car Und www.example.com/games
Es ist bereits als URL existiert, aber kein Verzeichnis i einen Fehler angezeigt log sagt:
File does not exist: /home/example.com/public_html/games/car
File does not exist: /home/example.com/public_html/games
, wie ich dieses Problem beheben kann? Ich habe alles mögliche versucht, aber immer noch Tonnen von Fehlern in meinem Fehlerprotokoll.
Vielen Dank (und Entschuldigung für mein schlechtes Englisch).
In Ihrem access.log sehen Sie Anfragen für '/ Spiele' oder'/play' usw.? – anubhava
"Ich weiß nicht, warum Apache diese gefälschten Verzeichnisse als echte echte Verzeichnisse betrachten?" - Weil Ihr 'RewriteRule' _pattern_ keiner dieser URLs entspricht und Sie oder jemand anderes mit diesen URLs verlinkt. Wenn das Muster nicht übereinstimmt, hat Apache keine andere Wahl als zu versuchen, '/ games' oder'/car' usw. anzufordern, was natürlich eine 404 Not Found auslöst. Sollen diese anderen URLs gültig sein? Und wenn ja, worauf sollten sie eingehen? – MrWhite
@anubhava, ja ich sehe zu viele Log-Fehler für/Spiele oder/spielen. Diese URLs sind gültig und werden der Kategorie slug für die Seite zugeordnet: category_details.php, Aber für/play wird nichts zugeordnet. –