SSL .htaccess - Q simple
Je déteste vraiment ce fichier ... Je viens de passer 6,5 heures à essayer de comprendre et avec ma dyslexie TDAH, c'est tout simplement impossible !! J'ai un domaine pour lequel j'ai acheté SSL (actuellement, je dois attendre que le ssl pour que WWW entre en jeu, mais pour l'instant, le domaine sans WWW fonctionne, par exemple:
https://tomas.com
Le .htaccess que j'ai en root est actuellement:
RewriteEngine On
RewriteCond %{HTTP_HOST} tomas\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://tomas.com/$1 [R,L]
Et le code ci-dessus active en fait SSL, ce qui est bien. Le fait est que j'ai quelques fichiers dans le domaine racine, mais l'un d'eux est appelé:
hello.php (situé à: "tomas.com/hello.php")
Si je vais à: http://tomas.com/helloJe veux qu'il affiche ce fichier (et dans la barre d'adresse, il devrait dire: "http://tomas.com/hello"). Avant le SSL, j'avais ce code ci-dessous et cela fonctionnait (mais plus maintenant):
RewriteRule ^([^/]*)/?(.*)$ $1.php
Une idée à quoi l'ensemble du .htaccess est censé ressembler? : /
J'essaie également de le forcer à NE PAS utiliser www (donc s'ils le font, il devrait être redirigé vers une URL non WWW) Merci beaucoup à l'avance !!!!!!!!!!!!
Réponses
Avant le SSL, j'avais ce code ci-dessous et cela fonctionnait (mais plus maintenant):
RewriteRule ^([^/]*)/?(.*)$ $1.php
Je ne sais pas comment cela "fonctionnait" avant, il n'est pas complet en soi et fait plus que simplement ajouter une .phpextension. Vous avez besoin de quelque chose pour empêcher une boucle de réécriture, car hello.phpcorrespond également au modèle ^([^/]*)/?(.*)$.
Essayez plutôt ce qui suit, après votre redirection HTTP vers HTTPS.
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule (.*) $1.php [L]
Cela vérifie d'abord que le fichier avec une .phpextension de fichier existe avant de le réécrire en interne.
Sinon , vous pouvez simplement activer MultiViews si vous n'effectuez aucune autre réécriture d'URL. Par exemple, en haut de votre fichier:
Options +MultiViews
Cela utilise mod_negotiation pour activer essentiellement les URL sans extension pour tout !