Nginx не работает редирект - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB73.7532
BTC/USD49168.2705
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 26.08.2017, 11:18   #1
Fubu_By
Senior Member
 
Аватар для Fubu_By
 
Регистрация: 01.10.2010
Адрес: https://bankle.ru/
Сообщений: 1,084
Бабло: $287550
Question Nginx не работает редирект

Нужно сделать редирект с /route%2Fhta%2Futp/ на /route/hta/utp/ , добавил такое правило
Код:
rewrite ^/route%2F([a-zA-Z]*)%2F([a-zA-Z]*)/$ /route/$1/$2/ permanent;
но оно не работает. Что не так?

Этот адрес /route%2Fhta%2Futp/ я получил в google webmaster, на него ругается, пишет что 404
__________________
Covid пройдет, а мы останемся Pharmcash & PharmcashUSA - с Вами НАВСЕГДА
Fubu_By вне форума  
Старый 26.08.2017, 11:48   #2
веломан
сыроед
 
Аватар для веломан
 
Регистрация: 01.10.2015
Сообщений: 12,771
Бабло: $1495765
По умолчанию

так, я проснулся ))
а зачем вообще редиректить %2F куда-то, оно само исправит
в пхп тоже автоматом будет /

Последний раз редактировалось веломан; 26.08.2017 в 12:03.
веломан вне форума  
Старый 26.08.2017, 11:55   #3
AntonIon
Senior Member
 
Регистрация: 15.11.2015
Сообщений: 216
Бабло: $29410
По умолчанию

Написал бы что конкретно происходит. Логи смотрел? nginx вообще проглатывает конфиг с этим правилом? Где директива rewrite, в server или в location? Кусок конфига бы показал и логи, было бы понятнее.

Цитата:
Сообщение от веломан Посмотреть сообщение
наверное всё-таки надо так:
rewrite ^/route/(hta)/(utp)/$ /route/$1/$2/ permanent;
всмысле без %2F
Тогда уж так:

rewrite ^/route/hta/utp/$ /route/hta/utp/ permanent;

Только смысл-то в чем?
AntonIon вне форума  
Старый 26.08.2017, 15:25   #4
Fubu_By
Senior Member
 
Аватар для Fubu_By
 
Регистрация: 01.10.2010
Адрес: https://bankle.ru/
Сообщений: 1,084
Бабло: $287550
ТС -->
автор темы ТС По умолчанию

у меня вот такая вот херня:


а валидные адреса вот так /route/hta/utp/
__________________
Covid пройдет, а мы останемся Pharmcash & PharmcashUSA - с Вами НАВСЕГДА
Fubu_By вне форума  
Старый 26.08.2017, 16:36   #5
веломан
сыроед
 
Аватар для веломан
 
Регистрация: 01.10.2015
Сообщений: 12,771
Бабло: $1495765
По умолчанию

ну так этож логи
правь при записи в лог через urldecode()
веломан вне форума  
Старый 26.08.2017, 18:07   #6
Fubu_By
Senior Member
 
Аватар для Fubu_By
 
Регистрация: 01.10.2010
Адрес: https://bankle.ru/
Сообщений: 1,084
Бабло: $287550
ТС -->
автор темы ТС По умолчанию

какие логи? гугл стучится по этим адресам... мне нужно сделать редирект
__________________
Covid пройдет, а мы останемся Pharmcash & PharmcashUSA - с Вами НАВСЕГДА
Fubu_By вне форума  
Старый 26.08.2017, 18:55   #7
веломан
сыроед
 
Аватар для веломан
 
Регистрация: 01.10.2015
Сообщений: 12,771
Бабло: $1495765
По умолчанию

это логи с веб-панели, насколько я вижу

ну добавь в server{
rewrite ^/route\%2[fF](\w+)\%2[fF](\w+)/?$ /route/$1/$2/ permanent;
}

только вот с ^$ непоняточка, может без них надо

Последний раз редактировалось веломан; 26.08.2017 в 19:05.
веломан вне форума  
Старый 26.08.2017, 20:33   #8
Fubu_By
Senior Member
 
Аватар для Fubu_By
 
Регистрация: 01.10.2010
Адрес: https://bankle.ru/
Сообщений: 1,084
Бабло: $287550
ТС -->
автор темы ТС По умолчанию

веломан, не помогло, не делает редирект, экранирование % не работает, я пробовал раньше
__________________
Covid пройдет, а мы останемся Pharmcash & PharmcashUSA - с Вами НАВСЕГДА
Fubu_By вне форума  
Старый 26.08.2017, 23:22   #9
веломан
сыроед
 
Аватар для веломан
 
Регистрация: 01.10.2015
Сообщений: 12,771
Бабло: $1495765
По умолчанию

ну печалько, он никак не хочет, и так не хочет:
location ~ ^/route\%2f(\w+) {
return 301 /route$1;
}
и без \ не хочет, и в if не хочет
гугл говорит, там всё плохо
веломан вне форума  
Старый 26.08.2017, 23:59   #10
веломан
сыроед
 
Аватар для веломан
 
Регистрация: 01.10.2015
Сообщений: 12,771
Бабло: $1495765
По умолчанию

жаркая дискуссия весьма недвусмысленно утверждает:
Цитата:
Третий раз за день - разберитесь, откуда у вас такой обкуреный запрос появляется. Если он действительно такой приходит на сервер.
Проще вылечить наркомана, отправляющего такой непотребство, чем пытаться обколоть сервер.
Цитата:
On Saturday 23 February 2013 13:57:29 Alexander Moskalenko wrote:
> В location параметры не матчатся.
> location = /files/check.php {
> }
>
> а внутри уже разбирайтесь с параметрами
>

Если запрос приходит в таком виде, то это уже не параметры, а имя запрошенного
файла. Другое дело, что location ищется по уже раскодированному адресу, о чем в
документации написано.

Должно помочь:

location /files/check.php? {
rewrite \?(.*)$ /files/check.php?$1? last;
}

location = /files/check.php {
fastcgi_pass 127.0.0.1:9000;
[...]
}
веломан вне форума  
Закрытая тема



Опции темы
Опции просмотра