rediriger chaque demande vers index.php et interpréter la demande
-
13-11-2019 - |
Question
J'utilise Apache 2.2 et PHP 5.3.8. Comment dois-je configurer .htaccess pour rediriger chaque demande do index.php?
Je voudrais avoir des URL comme celles de Stackoverflow ou Facebook, comme: http://mywebsite.com/fancyPageoù se qualifier n'est pas un répertoire sur le serveur mais juste un paramètre.
J'ai donc pensé que j'avais besoin de rediriger chaque demande vers une page PHP, où un code peut interpréter la chaîne $ _server ['request_uri']. Est-ce la bonne façon? $ _server ['request_uri'] sera-t-il toujours disponible après la redirection?
La solution
Essayez d'ajouter ce qui suit au fichier .htaccess dans le répertoire racine de votre site.
Il enverra toutes les demandes (sauf pour les fichiers / dirs existants) à index.php.
La demande d'origine sera disponible dans le request
param.
RewriteEngine On
RewriteBase /
#skip existing files or directories
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#everything else goes to index.php
RewriteRule ^ index.php?request=%{THE_REQUEST} [L]
Autres conseils
Ce qui vous intéresse, c'est la fonction URL_rewrite d'Apache. Je vous suggère de visiter ces deux liens et de les rechercher un peu: