Помогите написать реврайт плиз

OlegEk nginx-forum на nginx.us
Ср Апр 4 01:20:22 UTC 2012


Есть ссылка, результат которой 404й код
"
ht_tp://site.ru/product_thumb.php%3Fimg%3Dimages/g15938.jpg%26w%3D289%26h%3D300"
Такие ссылки иногда приходят с
поисковиков (в частности при обходе
гуглем).
Сайт гарантированно не даёт таких
линков.

Если написать ссылку так
" ht_tp://site.ru/product_thumb.php?img=images/g15938.jpg&w=289&h=300"
то всё работает как надо 

Сделал в файле конфига такую заплатку
"if ($uri ~* ([\?])) {
rewrite ^(.*)(/?)+$  $1 permanent;
}"
в результате получаю сначала редирект
на 
"
ht_tp://site.ru/product_thumb.php?img%3Dimages/g15938.jpg%26w%3D289%26h%3D300"
То есть сначала заменяется код вопроса,
а всё что стоит после вопроса почему то
считается одним параметром, не
разбирается на части, и уходит в
движёк.
Потом уже внутри движка сайта я делаю
разбор этого одиночного параметра, и
снова делаю редирект, уже через 
   "header ('Location: '.'ht_tp://site.ru' . $file);"
   "header ('HTTP/1.0 301 Moved Permanently');"
то есть при чтении исходного урла
поисковик получает аж два редиректа.
Что судя по всему ему тоже не нравится.

Подскажите пожалуйста как правильно
написать реврайт чтобы избежать
второго редиректа

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,224896,224896#msg-224896



Подробная информация о списке рассылки nginx-ru