Quel est le problème avec cette redirection htaccess?
-
06-07-2019 - |
Question
J'ai récemment transformé un ancien site Joomla en site Wordpress et je souhaite rediriger les anciennes URL vers les nouvelles adresses correctes. Pour commencer, j'ai essayé de tous les rediriger vers la page d'accueil, mais même cela n'a pas fonctionné.
Toutes les anciennes URL ressemblent à website.com/?q=node/1 (ou parfois? q = utilisateur / etc), j'ai donc pensé que cela suffirait:
RewriteCond %{QUERY_STRING} ^q=(.*)
RewriteRule . /home/ [R=301]
Pourquoi cela ne fonctionne-t-il pas?
La solution
[MODIFIER - SOLUTION FINALE - voir les commentaires]
RewriteCond %{QUERY_STRING} q=
RewriteRule (.*) lexlijst.nl/$1? [L,R=301]
Autres conseils
Avez-vous activé le moteur de réécriture? Vous devez l'activer dans httpd.conf ET dans tous les hôtes virtuels, car les directives ne sont pas héritées. Référence: http://httpd.apache.org/docs/1.3/ mod / mod_rewrite.html # RewriteEngine
RewriteEngine On
RewriteCond %{QUERY_STRING} ^q=(.*)
RewriteRule . /home/ [R=301]
Vous pouvez déboguer ce genre de choses en ajoutant une ligne RewriteLog. Je soupçonne que votre ligne RewriteRule est le coupable cependant. Cela devrait être quelque chose comme:
RewriteRule .* /home/ [R=301]