2011-06-18 4 views
2

Je veux traiter toutes les demandes à un domaine en utilisant un seul script PHP.Comment rediriger tout en interne en utilisant htaccess et mod_rewrite?

Par exemple:

www.domain.com/something.php -> would be loading -> www.domain.com/process.php?u=something.php 
www.domain.com/anything  -> would be loading -> www.domain.com/process.php?u=anything 
www.domain.com/sub/dir/x  -> would be loading -> www.domain.com/process.php?u=sub/dir/x 

Mais process.php ne devrait jamais ouvrir directement sur le navigateur, je veux faire comme une redirection interne.

Quelqu'un pourrait me montrer comment pourrais-je utiliser htaccess et mod_rewrite pour faire cela?

Répondre

3

Mettez ces lignes dans votre fichier .htaccess:

RewriteEngine On 
RewriteRule (.*) process.php?u=$1 [QSA,L] 

Cela qu'Apache d'utiliser process.php au lieu de la page en fait la demande.

Très probablement, vous aurez aussi besoin d'ajouter ces lignes avant RewriteRule ligne pour dire à Apache de traiter les fichiers existants est, sinon vos images/css/javascript fichiers seront également traités par process.php

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
Questions connexes