html - http_host - rewriterule ^/?$
Elimine las extensiones.html y.php con.htaccess (1)
Sí, sé que esta pregunta ya se hizo varias veces y se responde, pero daré una respuesta más completa en función de mi experiencia.
Aquí está el fragmento de código .htaccess que lo ayudará a:
# Apache Rewrite Rules
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
# Add trailing slash to url
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(/.[a-zA-Z0-9]{1,5}|/|#(.*))$
RewriteRule ^(.*)$ $1/ [R=301,L]
# Remove .php-extension from url
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}/.php -f
RewriteRule ^([^/.]+)/$ $1.php
# End of Apache Rewrite Rules
</IfModule>
Quiero hacer hincapié en algunas cosas importantes aquí para la referencia de todos:
- Este fragmento de código no elimina los scripts de entrada de la url (como
index.php
utilizado por muchos frameworks de PHP) - Solo elimina la extensión
.php
, si también quieres eliminar otra extensión (por ej.,.html
), copia y pega 3rd block y reemplazaphp
con otra extensión. - No se olvide de eliminar también la extensión de los anclajes (enlaces) href.
¿Cómo elimino el tipo de archivo de mis páginas web sin crear un nuevo directorio y nombrando el archivo index.php? Deseo http://example.com/google.html a http://example.com/google .
¿Cómo voy a hacer esto?
PD: traté de mirar algunos otros tutoriales pero confusos. Lo hago ahora que se puede hacer en .htaccess