Saltar al contenido

Cómo ocultar la extensión .php en .htaccess

Solución:

He usado esto:

RewriteEngine On

# Unless directory, remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ http://example.com/folder/$1 [R=301,L]

# Redirect external .php requests to extensionless URL
RewriteCond %{THE_REQUEST} ^(.+).php([#?][^ ]*)? HTTP/
RewriteRule ^(.+).php$ http://example.com/folder/$1 [R=301,L]

# Resolve .php file for extensionless PHP URLs
RewriteRule ^([^/.]+)$ $1.php [L]

Ver también: esta pregunta

La otra opción para usar scripts PHP sin extensión es

Options +MultiViews

O incluso simplemente siguiendo en los directorios .htaccess:

DefaultType application/x-httpd-php

Este último permite tener todos los nombres de archivo sin extensión. script siendo tratados como scripts PHP. Si bien MultiViews hace que el servidor web busque alternativas, cuando solo se proporciona el nombre de base (sin embargo, hay un impacto en el rendimiento).

1) ¿Está seguro de que el módulo mod_rewrite está habilitado? Cheque phpinfo()

2) La regla anterior asume que la URL comienza con “carpeta”. ¿Es esto correcto? ¿Realmente deseaba tener una carpeta en la URL? Esto coincidiría con una URL como:

/folder/thing -> /folder/thing.php

Si realmente quieres

/thing -> /folder/thing.php

Debe eliminar la carpeta de la expresión de coincidencia.

Normalmente uso esto para enrutar la solicitud a la página sin php (pero la tuya debería funcionar, lo que me lleva a pensar que es posible que mod_rewrite no esté habilitado):

RewriteRule ^([^/.]+)/?$ $1.php  [L,QSA]

3) Suponiendo que está declarando sus reglas en un archivo .htaccess, ¿su instalación permite la configuración de opciones (AllowOverride) anulaciones en archivos .htaccess? Algunos hosts compartidos no lo hacen.

Cuando el servidor encuentra un archivo .htaccess (como lo especifica AccessFileName), necesita saber qué directivas declaradas en ese archivo pueden anular la información de acceso anterior.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *