2 votes

code htaccess pour rediriger tous les liens internes

L'adresse de mon ancien site web est la suivante : qaz.com/home-page/

Je veux rediriger toutes les anciennes adresses vers un nouveau domaine : wsx.com/home-page/

Je pourrais le faire pour l'adresse principale : qaz.com redirige vers wsx.com/home-page/ correctement avec ce code :

RewriteRule ^/?$ "https\:\/\/wsx\.com\/home-page\/" [R=301,L]

mais des liens internes tels que : https://qaz.com/home-page/professional-theme/ n'a pas été redirigée vers https://wsx.com/home-page/professional-theme/

Le CMS de mon site web est WordPress. Comment faire pour résoudre ce problème ?

0voto

hjpotter92 Points 24797

Vous pouvez utiliser le Redirect au lieu de mod_rewrite :

Rewrite / https://wsx.com/

Si les deux noms de serveur sont servis à partir d'une seule configuration VHost :

<If "%{HTTP_HOST} != 'wsx.com'">
    Rewrite / https://wsx.com/
</If>

0voto

JarekBaran Points 1156

Vérifiez cette règle de réécriture 1:1 ( qaz.com/anything <> wsx.com/anything ) en haut du fichier .htaccess dans votre dossier Wordpress.

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?qaz\.com [NC]
RewriteRule (.*) https://wsx.com/$1 [R=301,L]

ou tous les liens de qaz.com vers wsx.com/home-page/ ( qaz.com/anything <> wsx.com/home-page/ )

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?qaz\.com [NC]
RewriteRule (.*) https://wsx.com/home-page/ [R=301,L]

0voto

arkascha Points 9691

Ce serait la réponse la plus proche de votre question précise :

RewriteEngine on
RewriteCond %{HOST_NAME} ^qaz\.com [NC]
RewriteRule ^/?home-page/(.+)$ https://wsx.com/home-page/$1 [R=301,QSA]

Il est conseillé de commencer par une redirection temporaire 302 et de ne passer à une redirection permanente 301 que plus tard, une fois que vous êtes certain que tout est correctement configuré. Cela permet d'éviter les problèmes de mise en cache lors des essais...

Cette règle fonctionnera également dans la configuration de l'hôte du serveur http ou dans un fichier de configuration dynamique (fichier ".htaccess"). Il est évident que le module de réécriture doit être chargé dans le serveur http et activé dans l'hôte http. Si vous utilisez un fichier de configuration dynamique, vous devez vous assurer que son interprétation est activée dans la configuration de l'hôte et qu'il se trouve dans le répertoire DOCUMENT_ROOT dossier.

Et une remarque générale : vous devriez toujours préférer placer ces règles dans la configuration de l'hôte des serveurs http plutôt que d'utiliser des fichiers de configuration dynamique (".htaccess"). Ces fichiers de configuration dynamiques ajoutent de la complexité, sont souvent la cause de comportements inattendus, difficiles à déboguer et ralentissent vraiment le serveur http. Ils ne sont fournis qu'en dernier recours dans les situations où vous n'avez pas accès à la véritable configuration hôte des serveurs http (lire : fournisseurs de services vraiment bon marché) ou pour les applications qui insistent pour écrire leurs propres règles (ce qui est un cauchemar évident en matière de sécurité).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X