이 두 줄의 코드에서는 이전 줄은 정상적으로 사용할 수 있지만 두 번째 줄은 사용하자마자 오류가 보고됩니다. 이유는 무엇입니까? ? 활성화해야 할 구성이 있습니까? 설명서를 살펴봤지만 찾을 수 없습니다. . .
学习是最好的投资!
rewrite ^/(.*)$ /index.php/$1 last; 여기서 $1는 ^/(.*)$를 나타냅니다. 정규식으로 캡처된 내용은 (.*)로 캡처된 콘텐츠입니다. rewrite ^/(.*)$ /index.php/ last; 中 代表的是 ^/(.*)$ 正则捕获的内容,也就是(.*) 捕获到的内容。
rewrite ^/(.*)$ /index.php/$1 last;
$1
^/(.*)$
(.*)
rewrite ^/(.*)$ /index.php/ last;
^/(.*)$ 中 ^/ 表示已 / 开头, . 表示匹配除换行符以外的任意字符,* 表示重复0次或更多次,$ 表示匹配字符串的结束,() 表示捕获(匹配)内容。 小括号()之间匹配的内容,可以在后面通过来引用,表示的是前面第二个()里的内容。
^/(.*)$ 中 ^/ 表示已 / 开头, . 表示匹配除换行符以外的任意字符,* 表示重复0次或更多次,$ 表示匹配字符串的结束,() 表示捕获(匹配)内容。
^/
/
.
*
$
()
小括号()之间匹配的内容,可以在后面通过来引用,表示的是前面第二个()里的内容。
也就是当一个请求链接为 /test,就会被重写为/index.php/test并重定向到/index.php/test,所以请确保有这样的资源地址 /index.php/test
/test
/index.php/test
$2
/index.php/test이므로 /index.php/test🎜 리소스 주소가 있는지 확인하세요.
nginx -t를 사용하여 구성이 올바른지 테스트하세요. 500 오류는 일반적으로 ErrorLog를 보면 이유를 알 수 있습니다.
nginx -t
정규식을 제거해 보세요
rewrite ^/(.*)$ /index.php/$1 last;
여기서$1
는^/(.*)$
를 나타냅니다. 정규식으로 캡처된 내용은(.*)
로 캡처된 콘텐츠입니다.rewrite ^/(.*)$ /index.php/ last;
中代表的是
^/(.*)$
正则捕获的内容,也就是(.*)
捕获到的内容。也就是当一个请求链接为
/test
,就会被重写为/index.php/test
并重定向到/index.php/test
,所以请确保有这样的资源地址/index.php/test
^/(.*)$
에서^/
는/
로 시작함을 의미하며.
는 줄바꿈을 제외한 모든 문자와 일치함을 의미하고,*
는 0번 이상 반복됨을 의미하며,$
는 일치하는 문자열의 끝을 의미하고,()
는 의미합니다. 콘텐츠를 캡처(일치)합니다. 🎜()
사이에 일치하는 내용은 나중에$1
를 통해 참조할 수 있으며,$2
는 두 번째를 나타냅니다. 각 (). 🎜/test
이면/index.php/test
로 다시 작성되고/index.php/test이므로
/index.php/test
🎜 리소스 주소가 있는지 확인하세요.nginx -t
를 사용하여 구성이 올바른지 테스트하세요.500 오류는 일반적으로 ErrorLog를 보면 이유를 알 수 있습니다.
정규식을 제거해 보세요