.htaccess

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • hallo
    Leider muss ich das leidige Thema .htaccess mal wieder ausgraben. Da ich nicht sooo fit damit bin, komm ich bei dieser ganz simplen Weiterleitung nicht weiter.
    Im Moment sieht meine .htaccess so aus:

    Quellcode

    1. RewriteEngine on
    2. RewriteCond %{REQUEST_URI} !.php$ [NC]
    3. RewriteRule ^page/(.*)$ page/$1.php [QSA]
    4. RewriteRule ^event/(.*)$ event/index.php?id=$2 [QSA]
    5. RewriteRule ^user/(.*)$ page/user.php?id=$3 [QSA]

    Es funktioniert auch wunderbar, allerdings wollte ich jetzt noch eine zusätzliche Weiterleitung angeben:

    Quellcode

    1. RewriteEngine on
    2. RewriteCond %{REQUEST_URI} !.php$ [NC]
    3. [b]RewriteRule ^(.*)$ page/$1.php [QSA][/b]
    4. RewriteRule ^page/(.*)$ page/$2.php [QSA]
    5. RewriteRule ^event/(.*)$ event/index.php?id=$3 [QSA]
    6. RewriteRule ^user/(.*)$ page/user.php?id=$4 [QSA]

    Nur auf einmal werd ich nicht mehr weitergeleitet und krieg ne fehlermeldung:
    The requested URL /page/.php was not found on this server. Sprich: er "vergisst" iwie die variable?!
    Deswegen habe ich dann alles gelöscht und nur die neue Regel stehen gelassen und siehe, es funktioniert wieder. Nur in Kombination klappts nicht und da ich wie gesagt, nicht der der Profi für .htaccess bin, kapier ich nicht ganz, was ich da verbockt habe.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von freeek ()

  • Naja, da die Regel aus #3 immer greift, kommst du nicht mehr zu den Regeln aus #4, #5 + #6
    Wichtig ist also die Reihenfolge. Außerdem solltest du ein L ergänzen, wenn nicht noch andere Regeln auf die selbe URL angewendet werden sollen.

    Quellcode

    1. RewriteEngine on
    2. RewriteCond %{REQUEST_URI} !.php$ [NC]
    3. RewriteRule ^page/(.*)$ page/$2.php [L,QSA]
    4. RewriteRule ^event/(.*)$ event/index.php?id=$3 [L,QSA]
    5. RewriteRule ^user/(.*)$ page/user.php?id=$4 [L,QSA]
    6. RewriteRule ^(.*)$ page/$1.php [L,QSA]