SSL .htaccess - Semplice Q
Odio davvero questo file ... ho appena passato 6,5 ore a cercare di capirlo e con la mia dislessia ADHD è semplicemente impossibile !! Ho un dominio che ho acquistato per SSL (attualmente devo aspettare che ssl entri in WWW ma per ora il dominio senza WWW funziona, ad esempio:
https://tomas.com
Il .htaccess che ho in root è attualmente:
RewriteEngine On
RewriteCond %{HTTP_HOST} tomas\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://tomas.com/$1 [R,L]
 
    E il codice sopra in effetti attiva SSL, il che è positivo. Il fatto è che ho alcuni file nel dominio principale ma uno di questi è chiamato:
hello.php (situato in: "tomas.com/hello.php")
Se vado a: http://tomas.com/helloVoglio che mostri quel file (e nella barra degli indirizzi dovrebbe dire: "http://tomas.com/hello"). Prima dell'SSL avevo questo codice qui sotto e funzionava (ma non più):
RewriteRule ^([^/]*)/?(.*)$ $1.php
 
    Qualche idea su come dovrebbe essere l'intero .htaccess? : /
Allo stesso tempo sto anche cercando di FORZARLO a NON usare www (quindi se lo fanno dovrebbe essere reindirizzato a un URL non WWW) Grazie mille in anticipo !!!!!!!!!!!!
Risposte
Prima dell'SSL avevo questo codice qui sotto e funzionava (ma non più):
RewriteRule ^([^/]*)/?(.*)$ $1.php
Non sono sicuro di come questo "funzionasse" prima, non è completo da solo e fa di più che aggiungere semplicemente .phpun'estensione. Hai bisogno di qualcosa per evitare un ciclo di riscrittura, poiché hello.phpcorrisponde anche al modello ^([^/]*)/?(.*)$.
Prova invece quanto segue, dopo il reindirizzamento da HTTP a HTTPS.
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule (.*) $1.php [L]
 
     Questa prima verifica che il file con .phpun'estensione di file esista prima di riscriverlo internamente.
In alternativa , puoi semplicemente abilitare MultiViews se non stai eseguendo altre riscritture URL. Ad esempio, all'inizio del file:
Options +MultiViews
 
     Questo utilizza mod_negotiation per abilitare fondamentalmente URL senza estensione per tutto !