2017-01-15 2 views
1

diese .htaccess Datei ist meinzwei consequtive Rewrite-Regeln arbeiten nicht in htacess

RewriteCond %{REQUEST_FILENAME} !-f 
<FilesMatch “.(ttf|otf|eot|woff)$”> 
<IfModule mod_headers.c> 
Header set Access-Control-Allow-Origin “domain.com” 
</IfModule> 
</FilesMatch> 
Options +FollowSymLinks -MultiViews 

RewriteEngine On 
RewriteRule ^[A-Za-z-]+/([A-Za-z0-9-]+)/?$ viewpost.php?id=$1 [QSA,NC,L] 
RewriteRule ^[A-Za-z-]+/([A-Za-z0-9-]+)/?$ category.php?id=$1 [QSA,NC,L] 

Abgesehen davon, dass die erste Überschreibregel arbeitet und die zweite nicht. Bitte hilf mir.

+0

Ich weiß nicht, was ich vermisse. – PRASHANT

Antwort

0

Es ist, weil Sie die Flagge [L] am Ende Ihrer ersten RewriteRule verwendet haben.

Das Flag [L] bewirkt, dass mod_rewrite die Verarbeitung des Regelsatzes stoppt. In meisten Kontexten bedeutet dies, dass bei Übereinstimmung der Regel keine weiteren Regeln verarbeitet werden. Dies entspricht dem letzten Befehl in Perl oder dem Break-Befehl in C. Verwenden Sie dieses Flag, um anzuzeigen, dass die aktuelle Regel sofort angewendet werden sollte, ohne weitere Regeln zu berücksichtigen.

Dokumentation auf Rewrite Flags.

+0

Auch nach dem Entfernen von L wird der zweite Teil nicht bearbeitet. Was nun?? – PRASHANT