Duplicate possible:
. htaccess Redirect Old Threads
Nous avions un site de nouvelles assez volumineux qui contenait des URL très laides d'un cms personnalisé. Nous avons depuis relancé et déplacé tout le contenu sur Wordpress et utilisé de "jolis liens permanents".
Nous avons également mené une campagne de newsletter tout au long de la campagne et nous aimerions rediriger toutes les URL laides vers les plus jolies. Comment cela peut-il être fait? Peuvent-ils être mis dans le fichier htaccess? Nous voulons simplement que, lorsque l'utilisateur clique sur l'URL dans le bulletin, il sera redirigé vers la nouvelle URL.
Voici un exemple de ce que nous voulons:
Nous voulons que ceci - http://www.domain.com/index.php?id=3&nid=91 soit redirigé vers cela http://mediwales.com/this-is -mon-joli-permalien
Quel type de redirection devrait-il être?
METTRE À JOUR:
Voici mon fichier htaccess actuel à la racine:
RewriteEngine on
RewriteRule ^([0-9A-Za-z]+)$ /index.php?page=$1 [L]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Utilisez .htaccess pour rediriger avec le code suivant:
RewriteEngine on
RewriteRule ^([0-9A-Za-z]+)$ /index.php?page=$1 [L]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Redirect /index.php?id=3&nid=91 http://mediwales.com/this-is-my-pretty-permalink
U peut utiliser ce .htaccess
RewriteEngine on
RewriteRule ^([0-9A-Za-z]+)$ /index.php?page=$1 [L]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Redirect /index.php?id=3&nid=91 http://mediwales.com/this-is-my-pretty-permalink
Le problème est que vous devez ajouter chaque redirection manuellement (voir ci-dessous). Le .htaccess est le même que le vôtre, sauf le
Redirect /index.php?id=3&nid=91 http://mediwales.com/this-is-my-pretty-permalink
Ce qui suit serait ma manière préférée
Parce que vous n'avez pas besoin de la règle de réécriture pour chaque page. Le moyen est d’avoir un joli lien permanent sur votre ancien hôte. Le but est d’avoir le même lien assez permalien sur les deux domaines, que vous pouvez facilement utiliser une redirection 301 et éviter le contenu en double. Mettez ceci sur votre .htaccess sur l'ancien domaine.
RewriteEngine on
RewriteRule ^(.*) http://mediwales.com/$1 [R=301,L]
Si vous tapez http://www.domain.com/this-is-my-pretty-permalink dans votre navigateur, vous serez redirigé vers http://mediwales.com/this-is-my-pretty-permalink
En fonction de votre cms et/ou si vous utilisez la même structure de page, vous n’avez pas besoin des jolis permaliens de l’ancien hôte. http://www.domain.com/index.php?id=3&nid=91 devrait acheminer vers http : //mediwales.com/this-is-my-pretty-permalink
J'espère que cela t'aides