2010-06-14 10 views
1

J'ai plusieurs URL que je veux rediriger vers le même endroit, mais ce sont des URL dynamiques.301 Redirections, et l'expression rationnelle correcte pour aller avec elle

La structure est quelque chose comme ceci:

http://www.mysite.com/declaration/list?[query_string] 

Ce que je pense, serait idéal pour cette situation est d'utiliser une expression régulière dans mon fichier .htaccess pour rediriger tous ces liens vers les sites de la page d'accueil.

Je me demandais si quelqu'un pouvait m'aider avec l'expression rationnelle pour cette situation. J'ai jusqu'à présent, mais il ne fonctionne pas:

RewriteCond %{QUERY_STRING} ^(.*)$ 
RewriteRule ^/declaration/list$ http://www.mysite.com/$ [R=301,L] 

Mon regex est faible pour le moins, quelque chose que je veux, et essaie d'apprendre.

Merci d'avance. Tom

Répondre

3

Puisque vous utilisez mod_rewrite dans un fichier .htaccess, vous devez supprimer le préfixe de chemin contextuel des motifs. Donc, essayez ceci:

RewriteCond %{QUERY_STRING} ^(.*)$ 
RewriteRule ^declaration/list$ http://www.example.com/ [R=301,L] 

Et puisque .* correspondra toute chaîne, votre directive RewriteCond n'a pas d'usage supplémentaire:

RewriteRule ^declaration/list$ http://www.example.com/ [R=301,L] 

Et si vous ne voulez pas que la requête soit automatiquement ajouté au la nouvelle URL, spécifiez une requête vide dans votre substitution:

RewriteRule ^declaration/list$ http://www.example.com/? [R=301,L] 
+0

cela ne semble pas fonctionner non plus. Il peut être utile de mentionner qu'il s'agit d'un site wordpress, donc il y a une certaine configuration wordpress .htaccess impliquée aussi. Merci pour votre réponse. – Tisch

+0

@Tisch: Mettez votre règle au-dessus de celles de Wordpress. – Gumbo

+0

vous l'homme homme. :RÉ – Tisch

Questions connexes