2010-07-16 6 views
2

Je veux réécrire une URL spécifique, je vais montrer un exemple afin que vous compreniez ce que je veux dire.mod_rewrite: réécrire l'URL spécifique

D'abord, ma règle actuelle de réécriture:

RewriteRule ^/?([a-zA-Z0-9/-]+)/?$ /index.php [NC,L]

Maintenant, je veux cette URL:

http://example.tld/foobar?test

réécrite à:

http://example.tld/foobar

Note: seulement pour /foobar?test! Par exemple. pas pour /somethingelse?test et aussi pas pour /foobar?blah!

Merci d'avance!

EDIT: je réalise que je veux une redirection 301 /foobar?test-/foobar, pas une ré-écriture « traditionnelle ». J'espère que c'est possible.

Répondre

1
RewriteCond %{QUERY_STRING} ^test$ 
RewriteRule ^/foobar$   /foobar  [NC,R=301,L] 
+0

Impossible de faire fonctionner cela. – user367217

+0

@Fabian: Vous ne pouvez pas rediriger vers 'REQUEST_FILENAME'! Je pense que vous vouliez dire '% {REQUEST_URI}', heh. –

+0

@tshabalala: En outre, ajoutez un 'L' aux drapeaux si vous mettez cette règle avant d'autres règles qui pourraient correspondre, ou la redirection pourrait être mise au rebut. –

Questions connexes