web-dev-qa-db-fra.com

Comment rediriger une ancienne URL vers une nouvelle URL via htaccess? Le site utilise Wordpress

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
1
Rob

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
1
Vince Pettit

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

0
Denny Mueller