1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Variable in RewriteCond-Pattern verwenden

Dieses Thema im Forum "Hosting & Webserver" wurde erstellt von Monti, 11. November 2017.

  1. Monti

    Monti Mitglied

    Hallo Community,

    ich möchte über .htaccess eine Umleitung ausführen, wenn kein Cookie mit dem gleichen Namen wie die aktuelle Domain (HTTP_HOST) und dem Wert "1" existiert.

    Folgendes funktioniert problemlos, ich werde also bei vorhandenem Cookie nicht umgeleitet:
    Code (Text):
    1. RewriteEngine On
    2. RewriteCond %{HTTP_COOKIE} !^irgendwas\.example\.com=1;? [NC]
    3. RewriteRule .* http://neue.adresse.com [NC,L]
    Möchte ich aber die hier noch harte Domain dynamisch machen, funktioniert es nicht mehr. Ich werde immer umgeleitet, mit oder ohne Cookie:
    Code (Text):
    1. RewriteEngine On
    2. RewriteCond %{HTTP_COOKIE} !^${HTTP_HOST}=1;? [NC]
    3. RewriteRule .* http://neue.adresse.com [NC,L]
    Offenbar wird die Variable ${HTTP_HOST} in dem Pattern nicht berücksichtigt. Wie kann ich das ermöglichen?

    Vielen Dank im Voraus.
     
  2. Monti

    Monti Mitglied

    Für diejenige/denjenigen, die/der ebenfalls mal danach sucht, hier die Lösung:
    Code (Text):
    1. RewriteEngine On
    2. RewriteCond %{HTTP_HOST}!%{HTTP_COOKIE} !^(.+)\!(.*)?\1=1;? [NC]
    3. RewriteRule .* http://neue.adresse.com [NC,L]
    Der Trick ist, beide zu vergleichenden Variablen auf der linken Seite der Bedingung zu haben, da auf der rechten Seite keine Variablen verwendet werden können.
     
    sheel gefällt das.
Die Seite wird geladen...