RISOLTO Togliere estensione html

Stato
Discussione chiusa ad ulteriori risposte.

Ryzelolr

Nuovo Utente
Avrei un problema con le estensioni delle mie pagine web.
Ho inserito nell'htaccess questo:
Codice:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME}  -f
RewriteCond %{REQUEST_FILENAME}  !-d
RewriteRule ^(.*)\.html$ /$1 [L,R=301]
Ora quando andrò a scrivere l'url intera del sito con ".html" la regola dell'htaccess mi porterà direttamente sulla stessa url eliminando l'estensione ".html".
Il tutto funziona, infatti scrivendo l'url completa di ".html" essa mi reindirizza alla pagina senza estensione che però purtroppo mi da un errore 404, proprio perchè il file senza estensione nel mio server non è ovviamente presente.

Vi chiedo, come posso far sì che, in modo automatico, tutti i link cercati con l'estensione ".html", vengano reindirizzati automaticamente alla versione senza estensione, senza avere un errore 404?
 

Moffetta88

Utente Èlite
2,764
892
Hardware Utente
Sbagli la parte finale
Codice:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html [NC,L]
Con R=301 fai un redirect, tu non devi fare un redirect ma solo togliere l'estensione
 

Ryzelolr

Nuovo Utente
Allora avevo già messo il codice strutturato in questo modo, il problema è che io vorrei anche altre cose:
Vorrei che anche scrivendo l'url con ".html" mi si reindirizzi al link senza estensione, mentre questo fa solo il contrario, cioè scrivendo un link senza html mi reindirizza su quello ".html" in modo trasparente senza far vedere l'estensione. Quindi in pratica mi risolve solo metà del problema
 

Ryzelolr

Nuovo Utente
Sì vero, però allora non riesco a capire in quale modo molti siti web facciano a reindirizzare le estensioni ".html" in file senza estensioni...
L' unico modo che mi è venuto in mente è creare una cartella per ogni file, e chiamare quel singolo file dentro la cartella "index.html", così anche levando l'estensione ".html" e facendo un reindirizzamento alla cartella comunque vedrò a schermo la pagina index con estensione. Ma penso che un modo del genere sia veramente l'ultima spiaggia
 

Moffetta88

Utente Èlite
2,764
892
Hardware Utente
Sì vero, però allora non riesco a capire in quale modo molti siti web facciano a reindirizzare le estensioni ".html" in file senza estensioni...
L' unico modo che mi è venuto in mente è creare una cartella per ogni file, e chiamare quel singolo file dentro la cartella "index.html", così anche levando l'estensione ".html" e facendo un reindirizzamento alla cartella comunque vedrò a schermo la pagina index con estensione. Ma penso che un modo del genere sia veramente l'ultima spiaggia
Non fanno reindirizzamento, usano siti dinamici e non semplici file html.
Il codice che ti ho dato serve a togliere il .HTML e così sembra che reindirizzi..
In alternativa usi php con un blocco switch e smart url.
Quale è il tuo livello di conoscenza in web dev?

Inviato da TA-1021 tramite App ufficiale di Tom\'s Hardware Italia Forum
 
  • Mi piace
Reactions: Mursey
Stato
Discussione chiusa ad ulteriori risposte.

Entra

oppure Accedi utilizzando