Scusa se insistoOriginariamente inviato da Walessio
Prima di tutto ho provato un .htaccess nella root con il codice che mi hai dato ma non funziona, infatti digitando un url come www.miosito.it/articolo/79.html mi viene restituito un errore 404 invece di andare a finire su www.miosito.it/articolo.php?id=79.
Ho rimosso l'htaccess dalla root., ma se è un hosting condiviso dubito che ti abbiano settato l'AllowOverride su on solo per la cartella magazine.(che in fase di settaggio del virtualhost nemmeno esisteva...)
L'errore 404 è quello standard di apache o quello di wordpress? Nella descrizione dell'errore qual'è l'url che non riesce a trovare? quando fai il test, rinomina l'htaccess dentro magazine.
La soluzione A a me non piaceOriginariamente inviato da Walessio
inoltre, sia usando A che B, le pagine php con query string sono raggiungibili lo stesso.
Riassumendo, allo stato attuale per arrivare a
www.miosito.it/articolo.php?id=79
posso arrivarci anche tramite
www.miosito.it/magazine/articolo/79.html
Ciò migliorerà o peggiorerà la SEO?, ma son gusti personali. Dal lato SEO non so consigliarti bene, dovresti chiedere nel forum specifico. Credo però che un redirect dovrebbe essere una cosa temporanea.
Se hai paura di contenuti duplicati e vuoi impedire la visualizzazione diretta degli URL reali, ti complichi la vita, ma si può anche fare.
Devi creare una serie di Cond dove ti vai a controllare tramite %{ENV:variable} se esistono variabili tipo REDIRECT_STATUS o REQUEST_URI: sono vuote non c'è stato rewrite, sono valorizzate c'è stato un rewrite.
Oppure lavori lato applicazione, se quelle variabili esistono in $_SERVER stampi un meta no index