/ Le fichier / .htaccess n'a pas été appliqué (suppression de l'extension .php) - php, .htaccess

Le fichier .htaccess n'a pas été appliqué (suppression de l'extension .php) - php, .htaccess

J'ai essayé de ne supprimer que l'extension .php en utilisant le fichier .htaccess sur mon serveur XAMPP localhost. J'y ai mis les lignes suivantes:

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]

J'ai essayé plus d'options pour atteindre mon objectif, mais rien n'a changé. Est-ce que j'ai fait quelque chose de mal?

Réponses:

0 pour la réponse № 1

Vérifiez si vous avez AllowOverride All dans le httpd.conf fichier (le fichier de configuration pour apache). Si vous utilisez XAMPP sous Windows, le fichier httpd.conf doit se trouver dans un répertoire tel que: C: xamppapacheconfhttpd.conf

Ajouter le AllowOverride All ligne dans la balise Directory. Par exemple: <Directory C:xampphtdocs> AllowOverride All Allow from all </Directory>

P.S. En autorisant le remplacement, vous indiquez au serveur d'autoriser le .htaccess fichier pour remplacer la configuration par défaut du serveur.

Edit: Désolé d'avoir déjà mentionné AllowOverride "On". Il devrait être AllowOverride "All". Cela fonctionne bien dans mon Ubuntu. Je vais essayer de voir comment le faire fonctionner sous windows (xampp) bientôt.


0 pour la réponse № 2

Ce qui suit fonctionne pour moi sur apache2. Espérons que cela fonctionnera également sur XAMPP. Ceci est presque identique à votre code, mais il vérifie que le nom de fichier demandé n'existe pas, et que le fichier PHP Est-ce que exister.

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]