아파치에서 Nginx로 이동 중입니다. 아파치 다시 쓰기 규칙을 nginx 규칙으로 변환하는 데 문제가 있습니다. 나는 그것의 추측 -Nginx + rewrite + php-fpm = confusion
rewrite ^/$ /www/controller.php?_url_=index break;
rewrite ^/+$ /www/controller.php?_url_=index break;
rewrite ^/([a-zA-Z0-9_]+)(/([a-zA-Z0-9_]*))?$ /www/controller.php?_url_=$1&_req_=$2 break;
rewrite ^/([a-zA-Z0-9/]+)controller.php?(.*)$ /www/controller.php?$2 break;
를 내 브라우저 (서버를 실행하지 않음) PHP 파일을 다운로드하는 규칙 이상 사용하는 경우 : 내가 사용하려고 무엇
RewriteRule ^$ www/controller.php?_url_=index [QSA,L]
RewriteRule ^/+$ www/controller.php?_url_=index [QSA,L]
RewriteRule ^([a-zA-Z0-9_]+)(/([a-zA-Z0-9_/]*))?$ www/controller.php?_url_=$1&_req_=$2 [QSA,L]
RewriteRule ^([a-zA-Z0-9/]+)controller.php?(.*)$ www/controller.php?$2 [QSA,L]
이 : 나는 변환 할 노력하고있어 PHP-FPM에 전달되지 않습니다. 어딘가에 내가 "휴식"을 대체해야한다는 것을 알았습니다. "마지막;" 같은 : 나는 http://example.org/login를 방문 할 때
http://example.org에서이 아직도 내가 다운로드있어 PHP 파일을 교체 한 후rewrite ^/$ /www/controller.php?_url_=index last;
하지만 나는 무한 루프에 들어갈. 내가 nginx 설명서 및 다른 예제 (또한 여기에 StackOverflow)하지만 올바른 설정을 찾을 수없는 창문을 읽어보십시오. 누군가 올바른 방향으로 나를 가리킬 수 있을까요?
server {
listen 80;
server_name 10.10.100.172;
error_log /var/log/nginx/example.com.error.log debug;
rewrite_log on;
location/{
root /var/www/webs;
index index.php index.html index.htm;
rewrite ^/$ /www/controller.php?_url_=index last;
rewrite ^/+$ /www/controller.php?_url_=index last;
rewrite ^/([a-zA-Z0-9_]+)(/([a-zA-Z0-9_]*))?$ /www/controller.php?_url_=$1&_req_=$2 last;
rewrite ^/([a-zA-Z0-9/]+)controller.php?(.*)$ /www/controller.php?$2 last;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
root /var/www/webs;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
편집 : 여기
내 전체 설정 파일입니다 I 위치 세그먼트 외부 규칙을 이동 및 사용"휴식;" 각 규칙의 끝에서 /www/controller.php에 접속할 수 있습니까? url = 로그인 & req =/example.org/login/에 갈 때 - controller.php가 무한 루프를 담당했습니다. example.org 또는 example.org/에 접속하려고 시도 할 때 controller.php 파일을 다운로드하고 있습니다. PHP-FPM에 전달되지 않은 것과 같습니다. 어떤 추측이라도?
최대 :) –