Pregunta

Debido a los problemas de AJAX entre dominios extraños, provocando peticiones AJAX a fallar cuando no se utiliza www (el controlador de PHP comunicarse con la solicitud se da en una ruta relativa, por lo que no puede ser un problema dirección o algo -. Eso es lo esta pregunta es sobre www embargo), he forzado. 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]

Esto funciona muy bien. Sin embargo, quiero permitir que otros webmasters para publicar uno de mis formas en su página web, usando mi forma de URL en atributo de acción de su forma. Esto siempre ha trabajado, sin embargo después de cambiar mi .htaccess las formas solo se cursan cuando el webmaster añade www. al valor de la acción. Sin www. la forma no quede presentada.

¿Cómo debo cambiar mi archivo .htaccess para asegurarse de que estas formas también se presentan sin www.?

¿Fue útil?

Solución

Se puede usar

RewriteCond %{REQUEST_METHOD} ^GET$

que se reescribir solamente peticiones GET, dejando a las peticiones POST como son.

Otros consejos

La mayoría de los navegadores no publicado hacia delante datos cuando redirigido 301 ... por lo que verá esas peticiones como GET de la URL de su acción en su lugar.

Este comportamiento es técnicamente no conforme pero parece ser el enfoque comúnmente aceptada.

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

Tal vez intente 307 redirecciones temporales para sus formas? 307 instruye específicamente el navegador para volver a publicar los datos. http://en.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_Redirection

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top