mod_reqrite mit %1

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • mod_reqrite mit %1

    Hi,

    ich schreib grad ne doch eher komplexe Rewrite Rule die erreichen soll, das alle Aufrufe auf einen VHost einer Domain auf einen bestimmtem umgeleitet werden.

    Beispiel: www.ex-ample.de und www.example.de haben den gleichen Inhalt. www.ex-ample.de soll aber mit 301 auf www.example.de umgeleitet werden..

    Code:
    RewriteCond %{HTTP_HOST} !^www(\d?).example\.de$ [NC]
    RewriteRule (.*) [url]http://www%1.example.de/[/url]$1 [QSA,R=301,L]
    Mein Problem nun - es gibt www1.ex-ample.de, www2.ex-ample.de etc - diese sollen natürlich entsprechend auf www1-example.de und www2.example.de umgeleitet werden.

    Nun mien Problem:
    Im Manual zu mod_rewrite steht
    RewriteCond backreferences: These are backreferences of the form %N (1 <= N <= 9), which provide access to the grouped parts (again, in parentheses) of the pattern, from the last matched RewriteCond in the current set of conditions.

    Wenn ich es richtig verstehe, kann ich doch dann in der RewriteRule durch %1 auf mein erstes Pattern aus der RewriteCond zugreifen. Aber %1 ist immer leer.

    Kann mich jemand erleuchten? Thnx.



    PS: Zur Not bitte verschieben - in Apache Installation passt das hier ja schlecht

  • #2
    Aber du willst ja mit dieser Regel nur dann umschreiben, wenn keine Zahl drin vorkommt. Also ist auch () leer
    Würde sagen works as designed...

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Hmm, versteh ich nicht ganz. Warum greift die Regel dann wenn ich www2.ex-ample.de aufrufe und leitet mich nach www.example.de um?

      Kommentar


      • #4
        Ah jetzt ja

        Wenn ich negiert suche wird das %1 nicht gefüllt.

        Die Regel trifft ja "nicht" zu

        Code:
        RewriteCond %{HTTP_HOST} ^www(\d?|-dev?) [NC]
        RewriteCond %{HTTP_HOST} !example.de$ [NC]
        RewriteRule (.*) [url]http://www%1.example.de/[/url]$1 [QSA,R=301,L]
        Noch Verbesserungsvorschläge?

        Kommentar

        Lädt...
        X