2016-09-29 2 views
0

나는 다국어 (PHP/HTML) 사이트를 원하는 ...하지만 난 3 개 변수 (LN의 -language, 페이지, 단계)lang 접미사로 nginx friendly URL을 설정하는 방법은 무엇입니까?

가있다가 HTTP 주소에서 를 다시 작성/nginx를 매우 약 해요 내가 쓸 때의 문제 https://testpage.org.pl/esp/home $ ln 변수처럼 "/ esp /"가 인식되지 않습니다 ...

어떻게 고칠 수 있습니까?

여기 내 nginx를 재 작성의 :

언어 변수는 항상 2 개 또는 3 문자가있는 경우, 당신은 단지 그것을 언어 변수로 재 작성을 변경할 수 있습니다
rewrite ^/([a-zA-Z0-9]+)$ /index.php?page=$1 last; 
rewrite ^/([a-zA-Z0-9]+)/step-([1-3])$ /index.php?page=$1&step=$2 last; 
rewrite "^/([a-z]{2})/$" /index.php?ln=$1 last; 
rewrite "^/([a-z]{2})/([a-zA-Z0-9]+)$" /index.php?ln=$1&page=$2 last; 
rewrite "^/([a-z]{2})/([a-zA-Z0-9]+)/step-([1-3])$" /index.php?ln=$1&page=$2&step=$3 last; 
+0

'esp'가 어떤 언어인지 모르지만 위의 재 작성 문은 2 문자 기본을 포함하는 ISO 639-1 언어 코드 용으로 설계되었습니다. HTTP 요청 및 HTML 헤더에 사용 된 것과 동일한 코드입니다. –

+0

its hmtl/php website – TomLi

+0

죄송합니다, 나는 당신의 질문을 인간의 언어와 관련 있다고 생각했습니다. –

답변

1

:

rewrite "^/([a-z]{2,3})/$" /index.php?ln=$1 last; 
rewrite "^/([a-z]{2,3})/([a-zA-Z0-9]+)$" /index.php?ln=$1&page=$2 last; 
rewrite "^/([a-z]{2,3})/([a-zA-Z0-9]+)/step-([1-3])$" /index.php?ln=$1&page=$2&step=$3 last; 

이 의지 2와 3 사이의 길이를 가진 언어와 만 일치하는지 확인하고 귀하의 경우에는 잘 작동합니다.