J'ai bricolé avec URL Rewriting sur mon site et corrigé la canonisation de mes URLs (donc je n'ai pas de données en double sur les moteurs de recherche, etc.) et il était recommandé de toujours supprimer/forcer la barre oblique (J'ai choisi de l'enlever) et aussi de rediriger/indexer. Donc, je mets les deux règles suivantes dans mon .htaccess pour mod_rewrite d'Apache pour ramasser:les navigateurs ne renvoient pas les données de formulaire dans l'appel ajax s'ils sont redirigés?
remove slash
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
arrière/index remove
RewriteRule ^(.*)/?index$ http://%{HTTP_HOST}/$1 [R=301,L]
Ces travaux règles très bien dans le navigateur. Mais certaines de mes formes ajax ont cessé de fonctionner tout à coup! Je l'ai tracé à la fois dans Chrome et Firefox (Firebug) et ce qui se passe est très étrange. Dans les deux navigateurs, la page fait un appel ajax à:
<mydomain>/ajax/index (ajax params intact) --> 301 redirect to <mydomain>/ajax/
<mydomain>/ajax/ (ajax params are no longer sent!) --> 301 redirect to <mydomain>/ajax
<mydomain>/ajax (ajax params again not sent) --> 200 OK but obviously script complains that params don't exist
Quelqu'un peut-il confirmer que ce soit le cas ou suis-je perdre? Si oui, pourquoi diable se comporte-t-il comme ça? Et y a-t-il une solution appropriée pour le réparer (autre que de changer tous mes appels ajax pour ne jamais être redirigé par exemple <mydomain>/ajax
)?
Merci beaucoup pour vous les gars de temps :)
Vive
Ali