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?

Était-ce utile?

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:

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top