URL 301 переписать с mod_rewrite, если содержит переменную? Tag = xxx - PullRequest
1 голос
/ 08 августа 2011

Мне просто не удается запустить перенаправление 301 и перезаписать, когда определенная переменная находится где-то внутри динамического URL.

Например, с любым из этих URL:

/movabletype/mt-search.cgi?tag=SOMETHING&limit=20
/some-other-random-content?post=somethinghere&tag=SOMETHING

Если tag=SOMETHING находится где-то внутри URL, перенаправьте на: /categories/something_here/

Есть идеи ?!Вот что у меня есть - я в растерянности относительно того, что положить в RewriteCond

RewriteCond %{REQUEST_URI}
RewriteRule tag=SOMETHING /categories/something_here/ [L,R=301]

1 Ответ

0 голосов
/ 07 сентября 2011

Ваше условие перезаписи требует левого и правого аргумента. Похоже, вы хотите перенаправить, когда присутствует определенный параметр URL (т. Е. Тег), так что вы можете использовать %{QUERY_STRING} в вашем состоянии.

Рассмотрим следующий пример:

RewriteCond %{QUERY_STRING} tag=([A-Za-z0-9]+)
RewriteRule ^(.*)$ /categories/$1 [R=301,L]

Этот URL-адрес должен выглядеть как /some-other-random-content?post=somethinghere&tag=SOMETHING и перенаправлять его на /categories/SOMETHING.

Перезапись URL для начинающих может быть полезным руководством.

...