Web4Web.IT - Community Forums
.htaccess e php - Versione stampabile

+- Web4Web.IT - Community Forums (https://www.web4web.it/forum)
+-- Forum: Supporto Tecnico (/forum-21.html)
+--- Forum: Programmazione & Design (/forum-23.html)
+---- Forum: PHP (/forum-24.html)
+---- Discussione: .htaccess e php (/thread-528.html)

1 2


.htaccess e php - roberto - 13-12-2011 14:08

Buongiorno,
premetto che non sono molto afferrato nella programmazione web, ho realizzato un sito statico utilizzando un editor html e copiando da vari forum alcuni codici javascript.
Il risultato finale è buono ed il posizionamento nei motori di ricerca è ottimo.
Ora avrei la necessità di utilizzare il comodissimo PHP che mi permetterebbe di rendere dinamica l’intestazione e la piè di pagina su tutte le pagine. Non voglio rinominare l’estensione delle pagine da html in php, perderei il posizionamento seo e soprattutto tutti i link da altri siti.
Potrei risolverlo con il redirect 301 ma ritengo più comodo ed interessante fare interpretare a tutte le pagine html il codice php.
Ho cercato su vari forum ed ho creato il file .htaccess con all’nterno il codice “AddType application/x-httpd-php .php .htm .html” e messo nella root principale.
Sono successe due cose:
1) il file .htaccess ha avuto effetto solo la mattina successiva.
2) Da quel momento, oltre a non funzionare, mi succede questo:
Se cerco: “http//:www.miosito.it” non apre la pagina ma fa scaricare il file ( e lo scarica davvero quindi chiunque aprendolo con notepad può rubarmi il codice della homepage!!!).
Se cerco: “http//:www.miosito.it/index.htm” funziona e tutte le altre pagine funzionano.
Ho eliminato il file .htaccess ma il problema persiste (devo aspettare qualche tempo?). Nel frattempo sto perdendo visitatori! Sigh!!

Il mio sito ritornerà a funzionare a breve?
Cosa posso fare per far funzionare tutte le attuali pagine .html con codice php?

Grazie mille in anticipo
Roberto


RE: .htaccess e php - Pirosauro - 13-12-2011 22:52

il tuo approccio è quello che si utilizzava 5 o 6 anni fa, quando la diffusione del mod_rewrite era bassa. Ora tutti gli hosting hanno il rewrite attivo, ti consiglio di usare delle rewrite rule per far credere ai motori che le pagine php abbiano estensione .html


RE: .htaccess e php - roberto - 18-12-2011 00:31

Grazie Pirosauro.
ho seguito il tuo consiglio,
ho modificato due pagine da HTML a PHP ed ho inserito il file .htaccess nella stessa directory con scritto:

RewriteEngine on

RewriteRule ^monteisola.html$ monteisola.php [L]


ora funziona perfettamente, praticamente si chiede il file monteisola.html ma gli viene data la pagina monteisola.php.

è giusto così?
se eseguo la modifica su tutte le pagine non perdo una briciola del buon posizionamento sui motori di ricerca che ho acquisito fin'ora?

se ho una directory con più pagine dovro' creare un .htaccess con scritto:
RewriteEngine on

RewriteRule ^pagina1.html$ pagina1.php
RewriteRule ^pagina2.html$ pagina2.php
RewriteRule ^pagina3.html$ pagina3.php
...
...
...
RewriteRule ^pagina20.html$ pagina20.php [L]


è corretto?
non rallenta nulla?

grazie ancora
Roberto


RE: .htaccess e php - Pirosauro - 18-12-2011 13:01

(18-12-2011 00:31)roberto Ha scritto:  : https://www.web4web.it/forum/post-3743.html#pid3743ora funziona perfettamente, praticamente si chiede il file monteisola.html ma gli viene data la pagina monteisola.php.

è giusto così?


(18-12-2011 00:31)roberto Ha scritto:  : https://www.web4web.it/forum/post-3743.html#pid3743se eseguo la modifica su tutte le pagine non perdo una briciola del buon posizionamento sui motori di ricerca che ho acquisito fin'ora?
esatto, la modifica è trasparente per lo spider

(18-12-2011 00:31)roberto Ha scritto:  : https://www.web4web.it/forum/post-3743.html#pid3743se ho una directory con più pagine dovro' creare un .htaccess con scritto:
RewriteEngine on

RewriteRule ^pagina1.html$ pagina1.php
RewriteRule ^pagina2.html$ pagina2.php
RewriteRule ^pagina3.html$ pagina3.php
...
RewriteRule ^pagina20.html$ pagina20.php [L]


è corretto?
non rallenta nulla?

ni... Smile
quante pagine sono? hai trasformato tutte le pagine del sito da .html a .php? estensione esclusa, hanno lo stesso nome di quelle vecchie?


RE: .htaccess e php - roberto - 27-12-2011 23:46

(18-12-2011 13:01)Pirosauro Ha scritto:  : https://www.web4web.it/forum/post-3744.html#pid3744ni... Smile
quante pagine sono? hai trasformato tutte le pagine del sito da .html a .php? estensione esclusa, hanno lo stesso nome di quelle vecchie?

Nella pagina principale ho circa 30-35 pagine (quelle del menu ed altre) l'intenzione è di trasformarle tutte in .PHP mantenendo intatto il nome, esclusa la pagina index che credo sia meglio lasciarla .html.
Dovrò quindi creare un rewrite rule per tutte le pagine modificate come descritto nel post prima.
E' la soluzione migliore o si può fare di meglio?
il mio scopo è sempre quello di trasformare il sito da statico a dinamico senza perdere posizioni nei motori di ricerca.
grazie mille ancora pr l'aiuto e buon Anno!
Roberto
PS: il sito è http://www.valleserianabike.it.
Ciao


RE: .htaccess e php - Pirosauro - 31-12-2011 11:39

senza darti troppe spiegazioni:

Codice:
Options +Indexes
Options +FollowSymlinks

RewriteEngine on

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)\.html$ $1.php [L]



RE: .htaccess e php - roberto - 01-01-2012 19:45

Grazie Pirosauro.
scusa tanto ma per come sono fatto io, vorrei cercare di capire (...se ci riesco...),
ho fatto alcune ricerche e sono giunto a queste conclusioni sul codice da te proposto:
Options +Indexes < Se l'URL richiesta punta ad una directory priva di una index (index.php, index.html...), Apache genera una lista del contenuto della directory>
Options +FollowSymlinks < I link simbolici vengono "seguiti">

RewriteEngine on <abilita la funzione Rewrite_Engine>

RewriteBase / <?>

RewriteCond %{REQUEST_FILENAME} !-f <verifica che la pagina richiesta non esista, se esiste non esegue la riga successiva ( e quindi la visualizza così com’è)>
RewriteRule ^([^.]+)\.html$ $1.php [L] <rinomina tutte le pagine PHP in HTML, ovvero cercando la pag. HTML viene data la pag. PHP che ha il medesimo nome>

quindi i due Options in realtà non servono ma potrebbero servire, non capisco bene options +indexes, la spiegazione che ho trovato non mi è chiara....

cosa è RewriteBase?

grazie ancora!! Whistling
Roberto


RE: .htaccess e php - Gandalf - 01-01-2012 20:14

Nel dubbio, toglio la +indexes, non serve mai nel 99% dei casi e peggiora solo la sicurezza. Se non ti è chiaro a cosa possa servire, significa che non ti serve Smile


RE: .htaccess e php - Pirosauro - 02-01-2012 19:31

Come detto da Gandalf, i primi due sono opzionali.

Il rewriteBase dice che inizia a matchare le rules da /
Nel caso volessi usare il rewrite solo a partire da una determinata sottocartella dovresti scrivere ad esempio:
RewriteBase /wordpress/


RE: .htaccess e php - roberto - 03-01-2012 12:28

Riassumento, .....vediamo se ho capito....:
inserisco un file .htaccess nella root principale del sito con il seguente codice:

Codice:
RewriteEngine on

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)\.html$ $1.php [L]

tutti i files presenti nel sito con estensione .PHP vengono visti e chiamati come .HTML. (tutti i files del sito anche quelli delle sottocartelle)
i file che hanno estensione .HTML rimangono invariati e vengono chiamati normalmente come .HTML.

esempio:
ho creato una pagina http://www.miosito/cartella1/pagina23.php
cerco
http://www.miosito/cartella1/pagina23.html
verrà aperta la pagina .PHP facendola vedere e trovare come estensione .HTML
idem i link interni del sito faranno riferimento alla pagina .HTML ma verrà aperta la .PHP.

corretto?
forse piano piano ci sto arrivando....
ciao
Roberto