>백엔드 개발 >PHP 튜토리얼 >Nginx Rewrite 配置

Nginx Rewrite 配置

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-06 20:51:251001검색

这个是我现有的配置.

	location / {
		index index.php;
	}
	
	location /request/ {
		rewrite ^/request/(.+)$ /request?model=$1 break;
	}
	
	location ~ \.php {
		fastcgi_pass 127.0.0.1:9000;
		fastcgi_index index.php;
		include fastcgi_params;
		fastcgi_param REQUEST_METHOD $request_method;
	}

我现在要实现的是,当访问: /request/concact 路径时,rewrite 到/request/?model=contact

然后不丢失POST 参数并且浏览器不跳转。

现在这个配置给我的麻烦是,请求从POST rewrite成了GET, 并且地址做了跳转。

回复内容:

这个是我现有的配置.

	location / {
		index index.php;
	}
	
	location /request/ {
		rewrite ^/request/(.+)$ /request?model=$1 break;
	}
	
	location ~ \.php {
		fastcgi_pass 127.0.0.1:9000;
		fastcgi_index index.php;
		include fastcgi_params;
		fastcgi_param REQUEST_METHOD $request_method;
	}

我现在要实现的是,当访问: /request/concact 路径时,rewrite 到/request/?model=contact

然后不丢失POST 参数并且浏览器不跳转。

现在这个配置给我的麻烦是,请求从POST rewrite成了GET, 并且地址做了跳转。

rewrite ^/request/(.+)$ /request?model=$1 break;

这句第二个request后面加一个斜杠就好了:

rewrite ^/request/(.+)$ /request/?model=$1 break;
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.