SSL .htaccess - Semplice Q

Nov 13 2020

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

1 MrWhite Nov 14 2020 at 03:02

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 !