Umschreiberegeln für den Apache-Server: Wie vermeidet man das „implizite Erzwingen einer Umleitung (rc=302)“?

Umschreiberegeln für den Apache-Server: Wie vermeidet man das „implizite Erzwingen einer Umleitung (rc=302)“?

Ich habe ein sehr nerviges Problem:

unser Webserver verarbeitet 2 (eigentlich mehr, aber sagen wir 2 für ein einfacheres Beispiel):

  • www.pretassur.fr
  • pretassuragentimmobilier.fr

Das möchte ich tun: ändern

(whatever1).pretassuragentimmobilier.fr(/whatever2)

Zu

(whatever1).pretassur.fr(/whatever2)?theme=agentimmobilier

Also hier ist meine Umschreibregel:

RewriteCond %{SERVER_NAME} (([a-z]+\.)*)pretassuragentimmobilier.(fr|com)
RewriteRule   ^(.+)        http://%1pretassur.fr$1 [E=THEME:pretassur_agent,QSA]
# if THEME not empty, set it :
RewriteCond   %{ENV:THEME} ^(.+)$
RewriteRule (.*) $1?IDP=%{ENV:THEME} [QSA]

Das große (riesige) Problem ist: Schauen wir uns die Umschreibprotokolle an:

[pretassurmandataireimmo.com] (5)
=> setting env variable 'THEME' to 'pretassur_mandataire'
[pretassurmandataireimmo.com]
=> (2) implicitly forcing redirect (rc=302) with http://pretassur.fr/

Aaaaaaaaarg! "implizites Erzwingen einer Weiterleitung" => Das will ich nicht! Ich willim InnerenWeiterleitung zu pretassur.fr, keine echte Weiterleitung!

Wenn Sie jetzt Folgendes eingeben:http://pretassurmandataireimmo.comEs wird umgeleitet aufhttp://pretassur.fr/?IDP=pretassur_mandataire(versuch es) Ich will das nicht! Ich will diese Seite anzeigenhttp://pretassur.fr/?IDP=pretassur_mandataireaber ohne den ursprünglichen Host zu berühren!

Irgendeine Idee?

Vielen Dank!

Antwort1

Selbst wenn sie sich auf demselben Server befinden, können Sie keine internen Weiterleitungen zwischen zwei verschiedenen virtuellen Hosts durchführen. Daher die externe (302) Weiterleitung.

Um Ihr Ziel zu erreichen, können Sie die Option „Proxy|P (Proxy erzwingen)“ verwenden.

verwandte Informationen