web-dev-qa-db-fra.com

Domaine complet .htaccess 301 en conservant les mêmes chemins, mais redirige également certaines URL vers des chemins différents

Je crois que le code suivant redirigera mon ancien domaine vers mon nouveau domaine en conservant les mêmes chemins d'URL.

RewriteEngine on
RewriteCond %{HTTP_Host} !^www\.newdomain\.co.uk 
RewriteRule (.*) https://www.newdomain.co.uk/$1 [R=301,L]

Toutefois, certains anciens URL de mon ancien site n'existent pas sur mon nouveau site. Ils renverraient donc un 404 avec la règle ci-dessus.

Comment puis-je les rediriger vers un autre chemin d'URL?

3
Moclin

Vous avez simplement besoin de rediriger ces URL spécifiques avant votre redirection fourre-tout ci-dessus. Par exemple:

RewriteRule ^old-url-does-not-exist$ /new-url-that-does-exist [R=301,L]

Juste pour noter ... dans .htaccess il n'y a pas de préfixe de barre oblique sur le modèle d'URL source, c'est-à-dire. l'expression régulière ^old-url-does-not-exist$ correspond à l'URL /old-url-does-not-exist. Considérant qu’il existe un préfixe barre oblique sur l’URL de destination. C'est juste la syntaxe RewriteRule.

2
DocRoot