Domanda

A causa di strani problemi dominio AJAX croce, causando richieste AJAX a fallire quando non si usa www (il gestore PHP comunicare con la richiesta viene dato in un percorso relativo, quindi non può essere un problema indirizzo o qualcosa -. Questo è ciò che questa domanda è su www però), ho forzato. usando .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]

Questa grande opera. Tuttavia, voglio permettere altri webmaster di pubblicare una delle mie forme sul loro sito web, usando il mio modulo di URL in attributo di azione della loro forma. Questo sempre funzionato, ma dopo cambia il mio .htaccess le forme vengono presentate solo quando il webmaster aggiunge www. al valore di azione. Senza www. il modulo non verrà presentato.

Come devo cambiare il mio file .htaccess per assicurarsi che queste forme sono sottoposte anche senza www.?

È stato utile?

Soluzione

Si potrebbe utilizzare

RewriteCond %{REQUEST_METHOD} ^GET$

, che riscriverà GET solo le richieste, lasciando le richieste POST come sono.

Altri suggerimenti

La maggior parte dei browser non in avanti Pubblicato dati quando 301 reindirizzato ... Così si vedranno tali richieste come GET del tuo URL azione, invece.

Questo comportamento è tecnicamente non conforme ma sembra essere l'approccio comunemente accettata.

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

Forse provare 307 Temporary Redirect per i moduli? 307 istruisce specificamente il browser di re-POST i dati. http://en.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_Redirection

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top