2010-09-18 5 views
1

Comment puis-je obtenir autre chose que des fichiers à réécrire dans les paramètres de index.php? J'utilise apache, mod_rewrite, etc.Mod_rewrite tout transférer aux paramètres de index.php

+1

Je pense que vous devez être plus précis. Les paramètres sont-ils dans un format de chaîne de requête standard (? A = 1 & b = 2 ...) ou une fausse structure de dossiers (/ a/1/b/2) ou autre chose? Quelle est l'URL de base de la chaîne de requête? domain.ext/requête ou autre chose? –

Répondre

6

Si vous voulez réécrire tout ce qui n'est pas une demande de fichier normal j'utiliser ceci:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{DOCUMENT_ROOT}/index\.php -f 
    RewriteRule ^(.*)$ /index.php?page=$1 [QSA] 
</IfModule> 

de cette façon, vous ne devez vous préoccuper au sujet de l'adhésion à un certain format d'URL pour vos réécritures - vous pouvez tes t et agissez en conséquence dans votre script de service.

0

Essayez ceci:

RewriteRule /([^/]*)/([^/]*)/([^/]*)[^\.].* /index.php?var1=$1&var2=$2&var3=$3 [R=301] 

Cela va rediriger l'url /foo/bar/baz à /index.php?var1=foo&var2=bar&var3=baz