> 백엔드 개발 > PHP 튜토리얼 > nginx的location正则匹配问题

nginx的location正则匹配问题

WBOY
풀어 주다: 2016-06-23 13:40:21
원래의
1662명이 탐색했습니다.


回复讨论(解决方案)

rewrite ^/([A-D])([a-zA-Z0-9]{10})/?$ /index.php?a=$1&b=$2 last;

rewrite ^/([A-D])([a-zA-Z0-9]{10})/?$ /index.php?a=$1&b=$2 last;



是在location 里匹配,匹配到了做转发的

下面这个报错了,启动不了
	location ^/([A-D])([a-zA-Z0-9]{10})/?$ {		proxy_pass http://127.0.0.1:88/;		proxy_redirect off;		proxy_set_header Host localhost2;		proxy_set_header X-Real-IP $remote_addr;		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;		proxy_set_header Referer $http_referer;		proxy_set_header Cookie $http_cookie;		proxy_connect_timeout 60;		proxy_read_timeout 600;		proxy_send_timeout 600;	}
로그인 후 복사

location  ~ ^/([A-D])([a-zA-Z0-9]{10})/?$

加个~就是正则匹配了

报错信息是什么?
贴出来。。。。

location  ~ ^/([A-D])([a-zA-Z0-9]{10})/?$

加个~就是正则匹配了



还是报错,启动不了

正在启动 nginx:nginx: [emerg] pcre_compile() failed: missing ) in "^/([A-D])([a-zA-Z0-9]" 

报错信息是什么?
贴出来。。。。



正在启动 nginx:nginx: [emerg] pcre_compile() failed: missing ) in "^/([A-D])([a-zA-Z0-9]" 

missing ) in "^/([A-D])([a-zA-Z0-9]" 
截断在大括号上了,估计是和后面的代码段大括号混淆,需要转义?或者把{10}直接换成+也可以
我没弄过这个...你看看有什么需要特殊处理的符号

missing ) in "^/([A-D])([a-zA-Z0-9]" 
截断在大括号上了,估计是和后面的代码段大括号混淆,需要转义?或者把{10}直接换成+也可以
我没弄过这个...你看看有什么需要特殊处理的符号



也不行

location ^/([A-D])([a-zA-Z0-9]+)/?$ {}
我在我这边的nginx上能启动了

location ^/([A-D])([a-zA-Z0-9]+)/?$ {}
我在我这边的nginx上能启动了



你的对的,是我location下面的代码写错了

最后改成这样的了 "~/[A-D][a-zA-Z0-9]{10}$"
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿