Visto che altre domande su .htaccess sono state spostate, posto qui .
Il problema è semplice, non so come sarà la soluzione.
Ho recentemente modificato l'architettura interna del mio sito qui su altervista.
Ho necessità di creare dei redirect 301 da vecchie pagine, presenti nella root a nuove pagine con medesimi contenuti in nuove cartelle con funzione di sottodominio 3° livello.
Ho upgradato con htaccess, ma leggendo nel forum credo di capire che non è possibile utilizzarlo per il 301, ma puo essere utilizzato come mod rewrite.
1) Domanda: l'eventuale risultato ottenuto è letto dai motori di ricerca come un redirect 301 ? Quindi senza penalizzazioni per le pagine.
Se non penalizza quale è la corretta sintassi intendo dire nel file .htaccess come devono essere accodate le istruzioni per le singole pagine con relativa nuova directory.
2)L'ipotesi di utilizzare php le cui istruzioni trovate qui sul forum sono ben comprensibili, sarebbe gradita, ma posso inserirle in una pagina html, senza cambiarne l'estensione ed ottenere il reindirizzamento 301 auspicato?
Sinceramente non so che fare , ma devo fare se no verrà tutto letto come doppione.
Grazie
Una soluzione è creare una cartella per ogni file html con lo stesso nome (es nick.altervista.org/pagina.html/) e inserire un file index.php che effettui il redirect;
Quando un motore di ricerca va sulla pagina nick.altervista.org/pagina.html in realtà vede nick.altervista.org/pagina.html/ e quindi nick.altervista.org/pagina.html/index.php : in questo modo il motore di ricerca non creerà doppioni nel suo indice.
P.S.: Un consiglio: visto che stai spostando molte pagine ti conviene rinominarle in *.php in maniera tale che in futuro potrai usare php senza rinominarle e crearti problemi .
Arguto!!... come direbbe il buon Bisio;
ti ringrazio molto, proverò subito.
--------------------------------------------
ho creato una directory index_manet.html (stesso nome del file da reindirizzare al nuovo dominio di 3° livello manet.boletus.altervista.org/
all'interno ho messo una pagina index.php contenente lo
script prelevato qui sul forum, interpretandolo così
<?php
Header( "HTTP/1.1 301 Moved Permanently");
Header( "Location:http://manet.boletus.altervista.org/");
exit;
?>
ho provato anche questo
<?php
Header( "HTTP/1.1 301 Moved Permanently");
Header( "Location:http://boletus.altervista.org/manet/");
exit;
?>
la pagina "http://boletus.altervista.org/index_manet.html" , quella che dovrebbero attualmente mostrare i motori di ricerca, richiamata dalla barra degli indirizzi mi da questo è il risultato:
Parse error: syntax error, unexpected '?' in /membri2/boletus/index_manet.html/index.php on line 16
Dove sbaglio?
Ultima modifica di boletus : 29-10-2006 alle ore 17.29.40
Ho provato a fare una pagina sul mio spazio altervista con lo stesso codice che hai scritto e mi funziona.
Ricorda che per funzionare tra l'inizio della pagina e <?php non ci deve essere niente (neanche a capi o spazi vuoti) e prima di Header... non va inviato nulla al browser (quindi non usare print, echo, ...) perchè gli Headers vanno inviati prma di qualunque altra cosa.
Più che altro non capisco come mai ti dia errore alla riga 16: la pagina è formata solo dal codice che hai postato?
Se c'è qualcosa dopo è inutile dato che c'è exit