2010-07-16 4 views
2

Я хочу переписать определенный URL-адрес, я покажу пример, чтобы вы поняли, что я имею в виду.mod_rewrite: переписать конкретный URL

Во-первых, мое текущее правило перезаписи:

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

Теперь я хочу этот URL:

http://example.tld/foobar?test

переписана:

http://example.tld/foobar

Примечание: только для /foobar?test! Например. не для /somethingelse?test а также не для /foobar?blah!

Заранее благодарен!

EDIT: Я понял, что хочу 301 перенаправление с /foobar?test на /foobar, а не «традиционный» перезапись. Надеюсь, что это возможно.

ответ

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

Невозможно заставить это работать. – user367217

+0

@Fabian: Вы не можете перенаправить запрос на 'REQUEST_FILENAME'! Я думаю, вы имели в виду '% {REQUEST_URI}', хе. –

+0

@tshabalala: Кроме того, добавьте 'L' к флагам, если вы ставите это правило перед другими правилами, которые могут совпадать, или перенаправление может быть отменено. –