/ El archivo / .htaccess no se aplicó (eliminando la extensión .php) - php, .htaccess

El archivo .htaccess no se aplicó (eliminando la extensión .php) - php, .htaccess

Intenté solo eliminar la extensión .php usando el archivo .htaccess en mi servidor de host local XAMPP. Pongo las siguientes líneas en él:

RewriteEngine On
RewriteOptions inherit
Options +FollowSymlinks
Options -Multiviews
## hide .php extension
## To externally redirect /dir/foo.php to /dir/foo
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)$ $1.php [NC,L]

He intentado más opciones para lograr mi objetivo, pero nada cambió. ¿Hice algo mal?

Respuestas

0 para la respuesta № 1

Comprueba si tienes AllowOverride All en el httpd.conf archivo (el archivo de configuración para apache). Si está utilizando XAMPP en Windows, entonces el archivo httpd.conf debería residir en un directorio como: C: xamppapacheconfhttpd.conf

Añade el AllowOverride All línea en la etiqueta de directorio. Por ejemplo: <Directory C:xampphtdocs> AllowOverride All Allow from all </Directory>

PD Al permitir la anulación, le indica al servidor que permita la .htaccess Archivo para anular la configuración predeterminada del servidor.

Edición: Lo siento que anteriormente mencioné AllowOverride "On". Debe ser AllowOverride "All". Esto funciona bien en mi ubuntu. Intentaré descubrir cómo hacerlo funcionar en Windows (xampp) pronto.


0 para la respuesta № 2

Lo siguiente funciona para mí en apache2. Esperemos que funcione en XAMPP también. Esto es casi lo mismo que su código, pero verifica que el nombre de archivo solicitado no existe, y que el archivo PHP hace existe.

RewriteEngine On
RewriteOptions inherit
Options +FollowSymlinks
Options -Multiviews
## hide .php extension
## To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ %{REQUEST_FILENAME}.php [NC,L]