Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    nascondere estensione file ".php"

    Salve a tutti ragazzi, volevo sapere se e come fosse possibile nascondere l'estensione (in questo caso) .php delle mie pagine web, praticamente vorrei che invece di visualizzare nome_pagina.php si visualizzasse solo nome_pagina...è possibile?

    Io in realtà ho anche trovato un metodo ma credo che si tratti più di un escamotage che di un qualcosa di "definitivo", mi spiego meglio...il metodo che ho trovato io, se digito www.miosito.it/nome_pagina funziona, mi fa vedere la pagina, però se digito www.miosito.it/nome_pagina.php (cioè la pagina con l'estensione, il nome reale della pagina) me la fa vedere ugualmente, io invece vorrei che ciò non accadesse (che uscisse una pagina di errore o simile), vorrei che potesse vedere la pagina solo scrivendo il nome senza estensione, non so se mi sono spiegato...

    Vi spiego il metodo in questione, quello che ho trovato...praticamente basta creare semplicemente un file .htaccess e metterlo nella directory principale del sito, poi dentro occorrerà scriverci:

    codice:
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}\.php -f
    RewriteRule ^(.*)$ $1.php
    ...esiste un'alternativa "definitiva"?

    P.S: il mio hosting è linux ed ha attivato il mod_rewrite, mentre il sito, pure essendo in php, è un semplice sito vetrina, è in php perché alcune pagine contengono piccoli script ma nulla di ché, cioè non è dinamico e neanche i links sono dinamici.

  2. #2
    ...ragazzi nessun consiglio?

  3. #3
    Utente di HTML.it L'avatar di Enoa
    Registrato dal
    Jul 2005
    Messaggi
    573
    Fai dei test con:
    codice:
    RewriteEngine On
    
    #escludi le rule seguenti per i file e cartelle che esistono sul filesystem e non sono file.php: css, immagini, js etc
    RewriteCond %{REQUEST_FILENAME} !\.php$ 
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule . - [L]
    #fine esclusione
    
    #"nascondi" l'estensione .php
    RewriteCond %{REQUEST_URI} !\.php
    RewriteCond %{REQUEST_FILENAME}\.php -f
    RewriteRule ^(.*)$ $1.php [L]
    
    #per tutti gli url che contengono .php richiesti direttamente, risponde il file 404.php (o quello che preferisci, cambia il nome del file)
    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteCond %{REQUEST_URI} \.php
    RewriteCond %{REQUEST_FILENAME} !404.php$ 
    RewriteRule ([a-zA-Z0-9\-_]*) 404.php [L]

  4. #4
    Grazie mille Enoa, funziona!

    ...se posso, ne approfitto per chiederti un'ultima cosa...se invece volessi visualizzare l'estensione ".html", cioè invece di come accade ora che la pagina viene scritta "nome_pagina" vorrei "nome_pagina.html", cosa dovrei modificare? chiedo perché sono un pò indeciso, ho letto da qualche parte che l'estensione ".html" è più indicata per l'indicizzazione...

  5. #5
    ...credo di aver trovato, ho combinato e mischiato qualcosa che ho trovato con il codice che mi hai consigliato tu, l'ho provato e sembra funzionare, eccolo:

    codice:
    RewriteEngine On
    
    #escludi le rule seguenti per i file e cartelle che esistono sul filesystem e non sono file.php: css, immagini, js etc
    RewriteBase /  
    RewriteRule ^(.*)\.html$ $1.php [L,QSA]
    #fine esclusione
    
    #"nascondi" l'estensione .php
    RewriteCond %{REQUEST_URI} !\.php
    RewriteCond %{REQUEST_FILENAME}\.php -f
    RewriteRule ^(.*)$ $1.php [L]
    
    #per tutti gli url che contengono .php richiesti direttamente, risponde il file 404.php (o quello che preferisci, cambia il nome del file)
    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteCond %{REQUEST_URI} \.php
    RewriteCond %{REQUEST_FILENAME} !404.php$ 
    RewriteRule ([a-zA-Z0-9\-_]*) 404.php [L]
    ...è un codice esatto?

  6. #6
    Utente di HTML.it L'avatar di Enoa
    Registrato dal
    Jul 2005
    Messaggi
    573
    Non mi risulta che le estensioni .html siano più appetibili, ma non sono un SEO
    La regola è corretta, se poi funziona....

    Il primo blocco di regole io non lo toglierei, ma effettivamente a volte è ridondante. Ti mette al sicuro dalla riscrittura degli url di risorse che esistono realmente sul filesystem

  7. #7
    ...effettivamente neanche io credo che l'estensione html sia più appetibile ai motori, ma non si sa mai
    In ogni caso grazie mille per l'aiuto!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.