2009-10-07 5 views
1

J'utilise Apache rewrite_mod d'avoir tous les tests après l'adresse URL entrer dans le texte de paramètre à l'aide de ce qui suit dans le fichier .htaccessComment rendre l'ensemble « REQUEST_URI » aller à un paramètre

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?text=$1 [L,QSA] 

qui fonctionne si je www.example.com/some_text mais ne pas quand je www.example.com/some_text/some other text

Je veux avoir dans le paramètre texte la demande entière: « some_text/un autre texte » non seulement « un autre texte ».

Est-ce que cela peut être fait?

Répondre

2

Je laisserais genre apache/php this out:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php [L] 

PHP stocke toutes les informations dont vous avez peut-être besoin de $ _SERVER

$_SERVER['REQUEST_URI'] // Original uri with original query string 
$_SERVER['REDIRECT_QUERY_STRING'] // Original query string 
$_SERVER['REDIRECT_URL'] // Original uri without query string 

Cette méthode laisse intacte $ _GET/$ _POST/$ _REQUEST etc.

+0

$ _SERVER ['QUERY_STRING'], mais merci quand même. –

+0

Bon point, ils sont identiques. (Bien que je croyais que la version REDIRECT_ contienne l'original, mais ce n'est pas le cas.) – stroop

0

J'utilise ceci et cela fonctionne parfaitement:

RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*) index.php/$0 [PT,L] 
0

$_SERVER['QUERY_STRING'] contiendra la chaîne de requête.

Questions connexes