jkm

Рейтинг
120
Регистрация
20.02.2014
Cursor:
Добрый день.
Как сделать 301 редирект картинок с адресов вида
image/cache/data/001/14-4573-500x500.jpg
image/cache/data/002/14-5522-500x500.jpg
image/cache/data/004/14-2434-500x500.jpg
на
image/data/001/14-4573.jpg
image/data/002/14-5522.jpg
image/data/004/14-2434.jpg
т.е в имени файла обрезается -500x500 и в пути сокращается cache? Все картинки jpg

RewriteRule ^(image/)cache/(data/\d+/.+)-\d+x\d+(\.jpg)$ /$1$2$3 [R=301,L]
favorit345:
похоже не подходит...

Base64.decode("S3pjZ0tEZzBORElwSURRMUxUazRMVFF3Xw==")
"KzcgKDg0NDIpIDQ1LTk4LTQw_"

Ну так нужно еще раз вызвать Base64.decode

Base64.decode("KzcgKDg0NDIpIDQ1LTk4LTQw_")

Если есть поддержка "possessive quantifier" ++

^([^а-я0-9]*[а-я0-9]++){2,4}[^а-я0-9]*$

Если нет.

^(([^a-z0-9]+|^)[a-z0-9]+){2,4}[^a-z0-9]*$

RewriteCond %{HTTP_HOST} ^(www\.)?site1\.ru$

RewriteRule ^(slovo/[^/]+)\.php$ http://www.site2.ru/$1 [R=301,L]


RewriteRule ^(robots\.txt|yandex_3453455389cde248\.html)$ - [L]

RewriteCond %{HTTP_HOST} ^(www\.)?site1\.ru$
RewriteRule ^(slovo)/([^/]+)\.php$ http://www.site2.ru/tovar-$1-$2 [R=301,L]

RewriteCond %{HTTP_HOST} ^(www\.)?site1\.ru$
RewriteRule ^(.*)$ http://www.site2.ru/$1 [R=301,L]

preg_replace('/(?:<img|\G(?!\A))[^+>]*\K\+/i', '%20', $str);

https://regex101.com/r/4xYQfE/1

Питон:
страница
site.ru/catalog/{любой урл}marka1.mar{далее что угодно} / должна перебрасываться на
site.ru/catalog/{любой урл}marka1/

то есть, всё что содержит с /xxxxxxxxxxxxxxxmarka1. (с точкой)
должно перебрасываться на /xxxxxxxxxxxxxxxmarka1/

RewriteRule ^(catalog/.*?marka1)\.mar /$1/ [R=301,L]
baas:
не работает.
ссылка
https://test.loca.loca/category/book//
Лог.
2.5.3.6 - baas [19/Mar/2018:13:22:01 +0300] "GET /category/book// HTTP/1.1" 200 14666 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36"

Nginx только перенаправит запрос на выбранный скрипт и уже php скрипт должен вызывать header() и установливать HTTP-заголовок 404 Not Found.

---------- Добавлено 19.03.2018 в 16:08 ----------

NothingMatters:
Потому-что так:
if ($request_uri ~ [^?]*//$) {

rewrite ^ /404.php;
}

$request_uri содержит запрос вместе с GET параметрами http://nginx.org/ru/docs/http/ngx_http_core_module.html#var_request_uri

В таком виде шаблон не совпадёт с /category/book//?lol

Если нужно перенаправление на /404.php

if ($request_uri ~ ^[^?]*//) {

rewrite ^ /404.php;
}
Kipishbest:

RewriteCond %{REQUEST_URI} !^/index.php?id=79/$
RewriteRule (.*) https://новый сайт/$1 [L,R=301]

Переменная %{REQUEST_URI} не содержит GET параметры. Все агрументы находятся в %{QUERY_STRING}.


RewriteCond %{REQUEST_URI}?%{QUERY_STRING} !^/index\.php\?id=79$
RewriteRule ^(.*)$ https://site.ru/$1 [L,R=301]

Переменная %{THE_REQUEST} содержит полную строку запроса "GET /index.php?id=79 HTTP/1.1"


RewriteCond %{THE_REQUEST} "! /index\.php\?id=79 "
RewriteRule ^(.*)$ https://site.ru/$1 [L,R=301]
Всего: 749