2017-05-05 2 views
0

Mit dieser RewriteRule in meiner .htaccess-Datei Ich bin RewriteRule bekommen: Bad Flag Begrenzungszeichen, die einen 500-Fehler im Browser zurückkehren. Die .htaccess-Datei befindet sich im Stammverzeichnis..htaccess: RewriteRule: bad Flag Trennzeichen - Apache Fehler

Hier ist der .htaccess-Code:

RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !=d 
RewriteCond %{REQUEST_FILENAME} !=f 
RewriteCond %{REQUEST_FILENAME} !=l 

RewriteRule ^(.+) index.php?url=$1 [QSA,L] 

und hier ist der Apache-Fehler:

[Fri May 05 16:11:16.180048 2017] [core:alert] [pid 8924:tid 1708] [client ::1:58526] C:/lol/htdocs/proyecto_cf/.htaccess: RewriteRule: bad flag delimiters 
+0

Dieser Fehler scheint sich nicht auf die von Ihnen gepostete Richtlinie zu beziehen? Es sei denn, Sie haben versteckte Zeichen in dieser Zeile? – MrWhite

+0

Das ist der gesamte Code. und es scheint, als hätte ich keinen Fehler .. aber ich bekomme einen 500 Fehler im Browser – pipex666

+1

Beachten Sie, dass '! = d' sollte'! -d', etc. wie unten erläutert (aber das wird nicht dazu führen ein Fehler). Versuchen Sie, diesen Code wieder in Ihre '.htaccess' Datei zu kopieren und wenn Sie immer noch einen Fehler von 500 bekommen, dann überprüfen Sie Ihr Fehlerprotokoll erneut. – MrWhite

Antwort

0

Ich habe noch nie gesehen -l, versuchen Sie diese Zeile zu löschen.

# Handles directories 
RewriteCond %{REQUEST_FILENAME} !-d 

# Handles files 
RewriteCond %{REQUEST_FILENAME} !-f 

# If not a file and not a directory we redirect to index.php 
RewriteRule^index.php [L] 
+2

Das' -l' testet symbolische Links und ist gültig (wenn es erforderlich ist). Das OP verwendet jedoch '=', das niemals übereinstimmt (aber nicht zu einem gemeldeten Fehler führt). – MrWhite