Warum ist mein .htaccess www. verursachende Kraft äußeren Formen ohne www zum Scheitern verurteilt.?

StackOverflow https://stackoverflow.com/questions/563148

Frage

Aufgrund der seltsamen Cross-Domain-AJAX-Probleme, so dass AJAX-Anforderungen fehlschlagen, wenn nicht www verwenden (die PHP-Handler mit der Anforderung in Verbindung steht, in einem relativen Pfad angegeben, so dass es keine Adresse Problem oder etwas sein kann -. Das ist, was diese Frage bezieht sich auf though), ich gezwungen www haben. mit .htaccess:

#enable rewrite engine and set options
Options +FollowSymLinks
RewriteEngine on

#only www.
RewriteCond %{HTTP_HOST} !^www.domain.com$
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301]

Dies funktioniert gut. Allerdings möchte ich andere Webmaster erlauben, eine meiner Formulare auf ihrer Website zu veröffentlichen, meine Form URL in action-Attribut des ihrer Form. Dies immer gearbeitet, aber nach meiner .htaccess ändern werden die Formulare nur abgegeben, wenn der Webmaster www erstellt. auf den Auslösewert. Ohne www. das Formular nicht eingereicht bekommen.

Wie soll ich meine .htaccess-Datei ändern, um sicherzustellen, dass diese Formen sind auch ohne www eingereicht.

War es hilfreich?

Lösung

Sie könnten verwenden

RewriteCond %{REQUEST_METHOD} ^GET$

was wird neu schreiben nur Anfragen GET, POST-Anfragen zu verlassen, wie sie sind.

Andere Tipps

Die meisten Browser nicht vorwärts Daten POSTed wenn 301 Weitergeleitet ... So werden Sie diese Anfragen als GET Ihrer Aktion URL statt sehen.

Dieses Verhalten ist technisch nicht konform aber scheint der allgemein akzeptierte Ansatz zu sein.

(cf http://www.lassosoft.com/Documentation/TotW /index.lasso?9083 , http: //www.nkuttler.de/2008/11/09/mailman-and-301-redirects/ .)

versuchen Vielleicht 307 temporäre Umleitungen für Ihre Formulare? 307 anweist, speziell der Browser die Daten neu POST. http://en.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_Redirection

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top