2016-02-12 2 views
1

J'essaie de rediriger tous les fichiers dans un dossier à un autre dossier à l'aide htaccess. Chaque fichier peut ou peut ne pas avoir une chaîne de requête. Et cette chaîne de requête peut varier.Rediriger tous les fichiers dans le dossier dans un autre dossier - garder intacte requêtes

Exemple:

devrait rediriger vers:

(Les noms de dossier "articles" au pluriel est devenu "article" singulier.)

Cela semble une chose assez simple à faire sans la chaîne de requête par exemple

RewriteRule ^articles/(.*)$ /article/$1 [L,NC] 

... mais apparemment je dois utiliser « rewritecond » lorsqu'ils traitent avec des chaînes de requête et je ne peux pas trouver en ligne Exemple de transfert d'un dossier à un autre tout en conservant toutes les chaînes de requête intactes.

Je pense qu'il doit y avoir un état correspondant à toutes et toutes les chaînes de requête, par exemple:

RewriteCond %{QUERY_STRING} . 

... mais il tombe à part, parce que cela ne fonctionne pas certainement:

RewriteRule ^$ www.example.com/articles/$1 [QSA,R,L] 

Répondre

1

Vous pouvez utiliser les éléments suivants Redirect:

RedirectMatch 302 ^/articles/(.+)$ /article/$1 
+1

Cela fonctionne très bien, merci! Je l'ai fait un 301 parce que c'est une redirection permanente à partir de pages obsolètes et ça fonctionne toujours très bien. Merci encore. – tvsmvp