하위 폴더에서 WordPress REST API의 nginx를 구성하려면 어떻게 해야 합니까?
도메인 아래 하위 폴더(즉, 다중 사이트가 아닌)에 여러 워드프레스 사이트를 설정하려고 하는데 REST API 끝점을 구성하는 데 어려움이 있습니다.예를 들어 이 끝점은 잘 작동합니다.
https://example.com/site1/?rest_route=/wp/v2/posts
그러나 이 엔드포인트는 404를 제공합니다.
https://example.com/site1/wp-json/wp/v2/posts
nginx 구성에서 다음과 같은 규칙을 사용하여 실패한 url을 작동 url에 다시 쓰려고 했습니다.
location /site1/wp-json {
rewrite ^/site1/wp-json(.*)$ /site1/?rest_route=$1;
}
location /site1/ {
try_files $uri $uri/ /site1/index.php$is_args$args;
}
워드프레스 문서나 nginx 위키에서는 wp-json에 대한 특별한 취급을 볼 수 없습니다.내가 뭘 놓치고 있는 거지?사이트에 대한 영구 링크가 다음과 같이 설정되어 있습니다.Numeric
(만약 그것이 역할을 할 수 있다면 https://example.com/site1/archives/123)
갱신하다
수정된 전체 구성 파일의 Gist와 구성 구문 lints ok:
nginx -c /etc/nginx/nginx.conf -t
nginx: 구성 파일 /etc/nginx/nginx.conf 구문이 정상입니다.
nginx: 구성 파일 /etc/nginx/nginx.conf 테스트가 성공했습니다.
WP 5.7에서 나도 방금 이것을 쳤습니다.예를 들어, "평범한" 옵션과 함께, 꽤 영구적인 링크 없이.?p=123
, nginx WP 설치는 다음과 같은 요청을 사용합니다.
/index.php?rest_route=/wp/v2/users/&who=authors...
그리고 이것들은 모두 잘 작동합니다.
하지만 만약 내가 "Post name"과 같은 꽤 영구적인 링크를 활성화한다면,/sample-post/
, 다음과 같은 요청을 하기 시작합니다.
/wp-json/wp/v2/users/?who=authors...
그리고 이것들은 모두 404를 돌려줍니다.예를 들어 게시물 편집 또는 게시가 실패하고 브라우저 개발 도구는 이 형식의 문자열 404를 표시합니다.
하지만 이제 우리는 작동하는 패턴을 알게 되었고, 해결책은 분명합니다. 작동하지 않는 형식을 작동하는 형식에 매핑하기만 하면 됩니다.
# Resolves WP Gutenberg 404 issue
location /wp-json {
rewrite ^/wp-json(.*)$ /index.php?rest_route=$1 last;
}
이렇게 해결할 수 있었습니다.
location /wordpress/ {
rewrite ^/wordpress/wp-json/(.*?)$ /wordpress/index.php?rest_route=/$1 last;
}
재작성 지침은 아래와 같이 작성되어야 한다고 생각합니다.
server {
location /site1/wp-json
{
rewrite ^(/site1/wp-json.*)$ /site1/?rest_route=$1 last;
}
}
하위 폴더의 웹 사이트 페이지가 이미 작동 중인 경우 url에 index.php를 추가하기만 하면 됩니다.
https://site1.com/site2/index.php/wp-json/
하위 폴더에서 웹 사이트 페이지가 여전히 작동하지 않으면 nginx/sites-available/website.conf 파일에도 다음 코드를 추가합니다.
location /site2 {
rewrite ^(/[^/]+)?(/wp-.*) /site2/$2 break;
rewrite ^/site2/(.*)$ /site2/index.php?q=$1 last;
}
언급URL : https://stackoverflow.com/questions/56930084/how-do-i-configure-nginx-for-wordpress-rest-api-in-sub-folder
'programing' 카테고리의 다른 글
get_page_children () 일부 하위 페이지를 반환하지 않음 (0) | 2023.10.21 |
---|---|
웹 서버가 VMware보다 WSL에서 2-3배 느린 이유는 무엇입니까?(동일한 도커 스택) (0) | 2023.10.21 |
복합 곱셈 감소를 위한 휴대용 심드 코드 작성 방법 (0) | 2023.10.21 |
워드프레스용 IIS7에서 URL 다시쓰기 (0) | 2023.10.21 |
Powershell을 사용하여 파일 이름을 재귀적으로 변경하는 중 (0) | 2023.10.21 |