Come reindirizzare 301, ad esempio: una sottodirectory /Blog/
a /blog/
con .htaccess?301 reindirizzamento .htaccess
risposta
Il modo in cui viene subito in mente:
RewriteEngine on
RewriteBase /path/to/your/web/app
RewriteRule ^Blog$ blog [R=301,L]
RewriteRule ^Blog/(.*)$ blog/$1 [R=301,L]
Probabilmente ci sono modi molto migliori rispetto mod_rewrite, e io non sono sicuro al 100% che i reindirizzamenti esterni funzionano come dovrebbero - potrebbe essere necessario l'URL completo - ma ci sei.
Redirect 301 /Blog /blog
O usare qualcosa come http://www.htaccessredirect.net/index.php
Questa è la soluzione più semplice .htaccess, metterlo in /.htaccess:
Redirect 301 /Blog /blog
Ma è davvero limitata. Se si desidera catturare ogni possibile errore ortografico Case-saggio, e in avanti anche qualsiasi altra informazione percorso (come /Blog/foo/bar.html), utilizzare questo invece:
RedirectMatch 301 ^/[Bb][Ll][Oo][Gg](?<!blog)(/.*)?$ /blog$1
Per ulteriori opzioni, ci sono full .htaccess generators a disposizione.
Oppure è possibile utilizzare ModRewrite-based rules per la massima flessibilità, ma probabilmente è eccessivo.
Il tuo secondo esempio corrisponderà anche a "/ blog" in qualsiasi posizione. – Gumbo
Molto corretto - mi sono affrettato a premere Add Aggiungi troppo velocemente. Grazie per segnalarlo! Il REGEX è ora riparato. –
Sì, in effetti questo è il modo migliore in cui è sempre il famoso: "Alcune persone, quando si trovano di fronte a un problema, pensano" Lo so, userò le espressioni regolari. "Ora hanno due problemi." – Necronet