Domanda

Sto cercando di ottenere una serie di redirect 301 che lavorano per un sito del cliente, e sto diventando un po 'bloccato.

Ho circa 17 directory diverse che hanno un contenuto .html fileswhich mi sto muovendo attraverso a Wordpress. Quello che sto cercando di fare è creare un semplice, file .htaccess singolo con redirect a che mi permetterà di reindirizzare tutti i file .html all'interno di una directory per gli URL WordPress senza estensione:

Esempio di reindirizzamento manuale:

redirect 301 /blog/2009/04/post1.html / blog / 2009/04 / post1 /
reindirizzare 301 /blog/2009/04/post2.html / blog / 2009/04 / post2 /

Il tentativo di creare una regola come:

RewriteRule ^ / blog / 2009/04 /(.*?). Html $ / blog / 2009/04 / $ 1 / [R = 301, NC, L]

Se il $ 1 è il nome del file (meno il .html) suffisso con un /

Non riesco a determinare se il ^ / blog / 2009/04 /(.*?). Html $ significa che reindirizzerà solo per questo particolare directory, e reindirizzerà alla giusta posizione.

Vorrei ovviamente voler duplicare questo RewriteRule per tutti i miei directory di contenuti designati ...

Qualcuno mi può punto nella giusta direzione?

Grazie,

Lee

È stato utile?

Soluzione

Si, la regola reindirizzerà solo per la directory 2009/04. Penso che si desidera:

RewriteRule ^/blog/([0-9]+)/([0-9]+)/(.*?).html$ /blog/$1/$2/$3/ [R=301,NC,L]

Questo sarà ora anche reindirizzare /blog/2008/12/post.html per /blog/2008/12/post/ e così via. Anche se dal momento che hai quasi esattamente lo stesso formato, forse questo sarà più facile?

RewriteRule ^/blog/(.*?).html$ /blog/$1/ [R=301,NC,L]
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top