Wie haben mehrere rewriterules mit .htaccess?
Ich versuche zu bauen, eine Mehrsprachige website mit Drupal.
Möchte ich das folgende url-format
http://domain/[language]/[node id]
also ich habe die folgende Regel zu .htaccess für Testzwecke
RewriteRule ^jpn/[0-9]$ jpn.html
Das problem ist, dass die Regel überschrieben wird durch folgende Regel
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Wie kann ich mehrere rewrite-Regeln?
InformationsquelleAutor Moon | 2011-03-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre zweite
RewriteRule
hat dieL < /code>
gesetzt, was bedeutet, dass, wenn die Regel zutrifft, werden keine weiteren Regeln verarbeitet werden.Wenn Sie möchten, dass Ihre erste Regel zu halten auch jede weitere Verarbeitung, fügen Sie das L-Flag zu.
Stellen Sie außerdem sicher, dass Ihre zweite Regel ist zuletzt aufgeführt, da passt alles (.*) und so wird der Apache nie sehen keine andere Regel, nach der es.
Bearbeitet: das L-Flag-URL
Überprüfen Sie den link (httpd.apache.org/docs/2.3/rewrite/flags.html#flag_l) - alle Flaggen werden erklärt, mit der rechten gibt. L steht für Last.
// Ich Schätze Ihren input! danke!!
InformationsquelleAutor fx_
Ich bin nicht sicher, ob dies [L] funktioniert wirklich in jedem Fall zu vermeiden, überschreiben sich gegenseitig. Ich bin kein Experte auf diesem, aber ich verbrachte einen Tag, um herauszufinden, die Sie gerade brauchen, um hinzuzufügen, 1 Atome, um eine RewriteRule, die hat vorher funktioniert, ohne beeing overwriten, und er beginnt, sich zu overwriten wieder von der ersten. Es ist schwer für mich zu glauben, dass 2 unterschiedliche Regeln, in 1 htaccess kann richtig Arbeit für 2 verschiedene Dateien.
Arbeiteten beide 100% gut
displ
news
Link 2 zeigt das Ergebnis von link1 statt..., Sag mir warum?
displ
news
InformationsquelleAutor jack