SSL .htaccess - Q simple
Realmente odio este archivo ... ¡Acabo de pasar 6.5 horas tratando de resolver esto y con mi dislexia TDAH es simplemente imposible! Tengo un dominio para el que compré SSL (actualmente tengo que esperar a que se active el ssl para que WWW se active, pero por ahora el dominio sin WWW funciona, por ejemplo:
https://tomas.com
El .htaccess que tengo en root es actualmente:
RewriteEngine On
RewriteCond %{HTTP_HOST} tomas\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://tomas.com/$1 [R,L]
Y el código anterior, de hecho, activa SSL, lo cual es bueno. La cuestión es que tengo algunos archivos en el dominio raíz, pero uno de ellos llamado es:
hello.php (ubicado en: "tomas.com/hello.php")
Si voy a: http://tomas.com/helloQuiero que muestre ese archivo (y en la barra de direcciones debería decir: "http://tomas.com/hello"). Antes del SSL, tenía este código a continuación y funcionó (pero ya no):
RewriteRule ^([^/]*)/?(.*)$ $1.php
¿Alguna idea de cómo se supone que debe verse todo el .htaccess? : /
También estoy tratando de FORZARLO para que NO use www (así que si lo hacen, debería ser redirigido a una URL que no sea WWW) ¡¡¡¡¡ Muchas gracias de antemano !!!!!!!!!!!!
Respuestas
Antes del SSL, tenía este código a continuación y funcionó (pero ya no):
RewriteRule ^([^/]*)/?(.*)$ $1.php
No estoy seguro de cómo "funcionó" esto antes, no está completo por sí mismo y hace más que simplemente agregar una .phpextensión. Necesita algo para evitar un bucle de reescritura, ya que hello.phptambién coincide con el patrón ^([^/]*)/?(.*)$.
En su lugar, intente lo siguiente, después de la redirección de HTTP a HTTPS.
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule (.*) $1.php [L]
Esto primero verifica que el archivo con una .phpextensión de archivo exista antes de reescribirlo internamente.
Alternativamente , puede habilitar MultiViews si no está reescribiendo ninguna otra URL. Por ejemplo, en la parte superior de su archivo:
Options +MultiViews
¡Esto usa mod_negotiation para habilitar básicamente URL sin extensión para todo !