LINUX.ORG.RU

Ответ на: комментарий от shakal1986

XXXX это года , может так проще будет понять к примеру ели в ссылке год вида /test-2013-2013 , то редиректить на /test-2013 , если /test-2013-2014 , то редирект не делать

shakal1986
() автор топика
Ответ на: комментарий от shakal1986

Вот так (re в двойных кавычках, матчит ровно четыре цифры):

rewrite "^/test-(\d{4})-\1" /test-$1 permanent;

или вот так (матчит любое кол-во цифер):

rewrite ^/test-(\d+)-\1 /test-$1 permanent;

работает. Проверял.

beastie ★★★★★
()
Ответ на: комментарий от shakal1986

Кавычки — это мало-документированная фишка (по-моему про это есть только в русской документации):

Если в регулярном выражении встречаются символы “}” или “;”, то всё выражение следует заключить в одинарные или двойные кавычки.

ref: http://nginx.org/ru/docs/http/ngx_http_rewrite_module.html#rewrite

beastie ★★★★★
()
Ответ на: комментарий от beastie

еще вопрос как передать 2 параметра ссылки вида: /XXX/YYY/ZZZ.file скрипту /get.php?hash=$1&filename=$2 ,где :hash=/XXX filename=/YYY/ZZZ.file

shakal1986
() автор топика
Ответ на: комментарий от shakal1986
rewrite "^/(.+)/(.+)/*$" /get.php?hash=$1&filename=$2 last;

только у меня выходит наоборот hash=/XXX/YYY Filename=/ZZZ при таком правиле , подскажите как написать правильно правило , чтоб передавалось hash=/XXX filename=/YYY/ZZZ.file

shakal1986
() автор топика
Ответ на: комментарий от joy4eg

нет , если поменять , то будет наоборот hash=zzz.file , а filename=/XXX/YYY

shakal1986
() автор топика
Ответ на: комментарий от beastie

спасибо , но под это правило почему то попадает ссылка вида /file.mp4 и уходит в цикл (пописано в скрипте get.php передавать файл file.mp4 , если ссылка неправильная)

2014/11/11 16:33:37 [notice] 18196#0: *132196 "^(/[^/]+)(.+)$" matches "/for-out-sites.mp4", client: 85.xxx.xxx.158, server: www.n1test.site.ru, request: "GET /e49d19945a740a3b66a790e23fc0784e/15674/537f8cde9104f.mp4 HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock", host: "n1test.site.ru"
shakal1986
() автор топика
Ответ на: комментарий от shakal1986
2014/11/11 16:33:37 [notice] 18196#0: *132196 rewritten data: "/get.php", args: "hash=/for-out-sites.mp&filename=4", client: 85.xxx.xxx.158, server: www.n1test.sute.ru, request: "GET /e49d19945a740a3b66a790e23fc0784e/15674/537f8cde9104f.mp4 HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock", host: "n1test.site.ru"
shakal1986
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.