2016-12-24 3 views
1

pretashop 1.4 -> 1.6에서 이전 한 후에 모든 이미지 폴더 구조가 /img/p/*-*.jpg에서/img/p/*/*/*/*로 이동합니다 ...NGINX 변수를 문자 배열로 사용 하시겠습니까?

동일한 제품에서. 묘사 우리는 오래된 구조에 대한 이미지 링크를 가지고 있고 나는 단지 규칙을 만들고 싶습니다.

Exmaple 된 구조 : /img/p/1256-5097.jpg

이 URL에서 나는 ID 5097 얻을 수 있습니다,하지만 난 IMG/P/5로 분할 NEET 새로운 이미지 폴즈에서 사용하기 /0/9/7/5097.jpg

그냥 nginx 재 작성 모듈을 사용하여 id를 얻을 수 있습니까?

답변

1

rewrite 지시어는 정규 표현식을 사용합니다. 필요에 따라, 예를 들어, 개별적으로 숫자를 캡처하는 정규 표현식은 다음 URI를 다시 지정

rewrite ^(/img/p/)\d+-(\d)(\d)(\d)(\d)(.jpg)$ $1$2/$3/$4/$5/$2$3$4$5$6; 

그것은 끔찍한 보이지만과 같이 분해 :

$1 = /img/p/ 
$2 = 5 
$3 = 0 
$4 = 9 
$5 = 7 
$6 = .jpg 

당신은 캡처 할 필요가 없습니다 $1$6 인 경우 결과에 하드 코딩 될 수 있습니다.

rewrite 구문의 경우 this document을, 정규식의 경우 this useful resource을 참조하십시오.

+0

Thx. (\ d)와 함께 사용하는 것이 처음 생각되었습니다. 잘 작동하면 다른 규칙으로 조금 변경됩니다. – NicomUA