Domanda

Sto rielaborando il mio sito web, andando a rinominare un sacco di directory, e hanno bisogno di un modo semplice per scrivere il mio .htaccess reindirizza per tutte quelle pagine. Spero per una soluzione che non include una lunga lista di file. Il mio file .htaccess è enorme così com'è.

È stato utile?

Soluzione

È possibile utilizzare mod_alias o mod_rewrite per il reindirizzamento. opere mod_rewrite con le espressioni regolari e mod_alias possono lavorare su entrambi i normali prefissi di espressione e il percorso.

Ecco alcuni esempi per quando si vuole riscrivere /foo/… a /bar/…:

# mod_alias
# path prefix
Redirect 301 /foo /bar
# regular expression
RedirectMatch 301 ^/foo/(.*) /bar/$1

# mod_rewrite
RewriteEngine on
RewriteRule ^foo/(.*) /bar/$1 [L,R=301]

Si noti che mod_alias e mod_rewrite hanno esigenze diverse per i loro modelli di espressioni regolari. mod_alias richiede sempre il percorso completo URL. Ma con mod_rewrite dipende se lo si utilizza in un file .htaccess o nella sezione Host Configuration di server / virtuale. In un file .htaccess, è necessario scrivere il modello senza il prefisso del percorso per directory (nel caso della radice del documento appena /, in caso di /quux/ è /quux/).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top