2009-06-29 7 views
3

J'ai une redirection htaccess qui doit rediriger la chaîne de requête vers la nouvelle URL, mais elle est supprimée après la redirection. Quelqu'un peut-il me dire ce qui ne va pas?htaccess rediriger ajouter une chaîne de requête?

RewriteRule ^services/agents.*$   https://services.example.com/agents/ [R=301,L,QSA] 

Répondre

2

La même règle fonctionne correctement sur mon serveur. Le problème devrait être autre chose. J'ai ajouté la même règle sur mon serveur et je reçois les éléments suivants redirigent

http://mysite.com/services/agents/foo?foo=bar => https://services.mysite.com/agents/?foo=bar 

S'il vous plaît noter que vous n'avez pas besoin d'ajouter le drapeau QSA puisque la cible ne comporte aucune chaîne de requête. This article peut contenir des informations utiles pour vous aider à gérer Htaccess et la chaîne de requête.

+0

Je l'ai compris. Le serveur vers lequel je redirais avait sa propre redirection pour/agents/=>/services/agents. Soupir.. – Aaron

2

En général, il n'est pas nécessaire d'ajouter explicitement la requête ou d'utiliser l'indicateur QSA si vous ne spécifiez pas de requête pour la substitution. Mais comme vous l'avez dit votre règle ne fonctionne pas, essayez ceci:

RewriteRule ^services/agents.*$ https://services.example.com/agents/?%{QUERY_STRING} [R=301,L] 
Questions connexes