Comment rediriger 301, par exemple: un sous-répertoire /Blog/
vers /blog/
avec .htaccess?301 redirect .htaccess
Répondre
La façon qui vient immédiatement à l'esprit:
RewriteEngine on
RewriteBase /path/to/your/web/app
RewriteRule ^Blog$ blog [R=301,L]
RewriteRule ^Blog/(.*)$ blog/$1 [R=301,L]
Il y a probablement beaucoup de meilleures façons que mod_rewrite, et je ne suis pas sûr à 100% que les réoriente externes fonctionnent comme ils devraient - vous pourriez avoir besoin l'URL complète - mais voilà.
Redirect 301 /Blog /blog
Ou utiliser quelque chose comme http://www.htaccessredirect.net/index.php
Ceci est la solution la plus simple .htaccess, placez-le dans /.htaccess:
Redirect 301 /Blog /blog
Mais il est vraiment limité. Si vous voulez attraper tous les possibles faute d'orthographe sage de cas, et également tous les autres informations de chemin (comme /Blog/foo/bar.html), utilisez plutôt:
RedirectMatch 301 ^/[Bb][Ll][Oo][Gg](?<!blog)(/.*)?$ /blog$1
Pour plus d'options, il y a full .htaccess generators disponible.
Ou vous pouvez utiliser ModRewrite-based rules pour un maximum de flexibilité, mais c'est probablement trop.
Votre deuxième exemple trouvera également '/ blog' à n'importe quelle position. – Gumbo
Très correct - je me suis précipité pour frapper la réponse Ajouter trop rapidement. Merci de l'avoir signalé! Le REGEX est maintenant corrigé. –
Oui, en effet, celui-ci est bien mieux que le célèbre: "Certaines personnes, confrontées à un problème, pensent" Je sais, je vais utiliser des expressions régulières. "Maintenant, ils ont deux problèmes." – Necronet