programing

WordPress 4.8 on Docker REST API에 액세스할 수 없음

css3 2023. 3. 26. 11:41

WordPress 4.8 on Docker REST API에 액세스할 수 없음

그래서 최근 Docker docs(https://docs.docker.com/compose/wordpress/)에서 제공하는 간단한 빈칸 채우기 작성 파일인 Docker를 사용하여 WordPress를 설치했습니다.

version: '3'

services:
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 
      MYSQL_DATABASE: 
      MYSQL_USER: 
      MYSQL_PASSWORD: 

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    ports:
      - "8000:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: 
      WORDPRESS_DB_PASSWORD: 
volumes:
    db_data:

잘 되고 있어요.그 부분은 괜찮은데 막상 가보면http://siteurl/wp-json난 404점이야.사이트는 정상적으로 동작하지만 REST API에 액세스할 수 없습니다.WAMP에서 다른 사이트를 실행하고 있는데 해당 주소에 접속하면 다음과 같은 메시지가 나타납니다.

{
  "name": "localhost:8090",
  "description": "Just another WordPress site",
  "url": "http://localhost:8090/wordpress",
  "home": "http://localhost:8090/wordpress",
  "gmt_offset": "0",
  "timezone_string": "",
  "namespaces": [
    "oembed/1.0",
    "wp/v2"
  ],
  ...

두 사이트 모두 4.8을 실행하고 있습니다.도커에서 WordPress를 실행할 때 REST API에 액세스하는 방법은 무엇입니까?저는 보통 도커를 사용하여 로컬로 개발하지만, 이것이 문제가 되는지는 모릅니다.

(부록으로 Bitnami에서 발행하는 WordPress 컨테이너를 회전시켜도 문제없이 대응했습니다.그럼 이건...WordPress 공식 이미지?이미지 기반 스택이 아닐까?사용할 수 있지만, 동료 개발자에게도 비슷한 문제가 발생하고 있기 때문에 문제가 무엇인지 정말로 알고 싶습니다.)

이것은, 사이트의 퍼머링크 설정과 관계가 있는 것이 판명되었습니다./wp-json/wp/v2사용자 정의 영구 링크 설정을 사용하도록 사이트가 설정된 경우 끝점을 사용할 수 있습니다.를 사용하는 경우/%post%/퍼머링크 구조도 작동해요다른 Permalink 구조를 사용하는 사이트에는 대체 경로가 있습니다.

permalinks가 없는 사이트에서는 대신 루트가 rest_route 파라미터로 URL에 추가됩니다.위의 예에서 전체 URL은 http://example.com/?rest_route=/wp/v2/syslog/123이 됩니다.

출처 : https://developer.wordpress.org/rest-api/extending-the-rest-api/routes-and-endpoints/

사실, 그?rest_route=/wp/v2/posts는 항상 기능하는 것 같기 때문에, 보다 신뢰성 높은 옵션이 됩니다.

Docker에서 실행 중 해결 방법은 AdminPanal = > Settings - > Permalinks - > Post Name 에서 다음과 같습니다.

언급URL : https://stackoverflow.com/questions/44814644/wordpress-4-8-on-docker-rest-api-not-accessible