title
Description
Body
У меня сменилась структура сайта и все ссылки надо переправлять на другой адрес с кодом 301 Moved Permanently
бывший адрес /view/id.html текущий /y/id.html
Добавлено спустя 2 минуты 23 секунды:
Да и еще если не сложно дайте пример реврайта на с /y/ID.html на /yfile/view.php?id=ID
Неактивен
|
|
если я правильно тебя понял
Неактивен
Выручай, опять изменилась структура сайта. А поисковики уже успели сожрать кучу линков.
Надо перекидать юзеров на адрес типо такого /y/(id).html сейчас все линки идут на /y/v?(id)
Вот мой конфиг:
|
|
Пытался сделать что то вроде этого
|
|
Вроде норм при переходе по адресу /y/(id).html
Но при переходе по адресу /y/v?(id) кидает на /y/v.html?(id)
Добавлено спустя 4 минуты 5 секунд:
Да и еще одно как строго указать 11 вхождений? Пробовал {11} типа rewrite ^/y/v?([a-zA-Z0-9\-_]{11})$ /y/$1.html permanent; не проходит на валидность
Неактивен
|
|
подозреваю, что перед ? должен быть обратный слеш.
|
|
вместо last, вероятно, должно быть break.
Неактивен
Gemorroj написал:
Код:
1
^/y/v?([a-zA-Z0-9\-_]+)$ подозреваю, что перед ? должен быть обратный слеш.
Да нет не обязательно. Как правило все линки идут так /y/v?123abc
А блин Ты имеешь в виду за экранирующий слэш? те за обратный. Тогда да думаю должен быть)
Gemorroj написал:
Код:
1
^/y/([a-zA-Z0-9\-_]+)\.html.*?$ /youtube/videoView.php?$1 last; вместо last, вероятно, должно быть break.
Сейчас попробуем)
Добавлено спустя 1 минуту 18 секунд:
Gemorroj А как на счет этого?
TLENS написал:
Да и еще одно как строго указать 11 вхождений? Пробовал {11} типа rewrite ^/y/v?([a-zA-Z0-9\-_]{11})$ /y/$1.html permanent; не проходит на валидность
Неактивен
При экранировании знака вопроса вообще не срабатывает.
rewrite ^/y/v\?([a-zA-Z0-9\-_]+)$ /y/$1.html permanent;
В без экранирования бросает на /y/v.html?$1 такое ощущение что в реврайт попадает только патч а запрос после ? он не видит
Неактивен
хм странное явление. Сделал реврайт такого типа rewrite ^/y/v(.*?)$ /y/zzz.html?r=$request_uri&var=2 permanent; и при запросе /y/v?IKqV7DB8Iwg улетаю на /y/zzz.html?r=/y/v?IKqV7DB8Iwg&var=2&IKqV7DB8Iwg
Это дает понять что в конец все равно вставляется query_string
Добавлено спустя 2 минуты 36 секунд:
А $1 у нас пустой rewrite ^/y/v(.*)$ /y/zzz.html?r=$1&var=2 permanent; кидает на /y/zzz.html?r=&var=2&9vQy0ip-SuIsds
Неактивен
Таки да реврайт не задевает query_string
rewrite ^(/y/v.*)$ /y/t.html?r=$1&var=2 permanent;
При запросе /y/v?IKqV7DB8Iwg34
Шлет нас на /y/t.html?r=/y/v&var=2&IKqV7DB8Iwg34
Неактивен
Обрыл уже гугл. Некоторые советуют знак вопроса вставлять в конец выходящей строки типо rewrite ^(/y/v.*)$ /y/t.html?r=$1&var=2? permanent; Это нужно для того что бы исключить автоподстановку того что после знака вопроса. Но вот мой вопрос с помощью этого решить не возможно.
Добавлено спустя 26 секунд:
Здесь явно нужен другой подход
Неактивен
Захерячил такой вариант
|
|
Неактивен