Wordpress REST API(wp-api) 404 오류: WordPress REST API에 액세스할 수 없습니다.
저는 XAMPP를 사용하여 로컬로 개발하면서 Wordpress REST 플러그인 WP-API를 몇 달 동안 사용하고 있습니다.최근 EC2 인스턴스로 사이트를 이행했는데 API 상의 엔드포인트에 접속하려고 할 때마다 다음 메시지가 표시된 404를 제외하고 모든 것이 정상적으로 작동하고 있습니다.
요청한 URL /wordpress/wp-json/을(를) 이 서버에서 찾을 수 없습니다.
다음과 같은 구조에서 상당한 퍼멀링크를 사용할 수 있습니다.http://.../wordpress/sample-post/
브라우저의 특정 게시물로 이동하면 정상적으로 작동합니다.
설정에 대한 자세한 내용은 다음과 같습니다.
- 4.4.1
- 멀티사이트 아님
- WP REST API 플러그인 2.0-beta9
- 아파치 2.2.22
- 우분투 12.04.5
SO와 WP 지원 포럼을 몇 시간 동안 거쳤기 때문에 어떤 도움이라도 주시면 감사하겠습니다.감사해요!
새로운 방법 갱신
저도 지역 프로젝트에서 비슷한 문제에 직면했습니다.프로젝트 URL 뒤에 사용했는데 작동했어요.
http://localhost/myproject/index.php/wp-json/wp/v2/posts
404 오류가 표시되면 먼저 permalinks를 업데이트합니다("Paged Navigation Does not Work" (페이징된 내비게이션이 작동하지 않음) 섹션 참조).
동작하는 는, 「이네이블로 해 주세요」, 「이네이블로 해 주세요」를하게 할 필요가 있습니다.mod_rewrite
ubuntu: ubuntu:
a2enmod rewrite
sudo service apache2 restart
인스톨
REST API는 WordPress 4.7에 포함되어 있습니다! 플러그인은 더 이상 필요하지 않습니다. WordPress의 최신 버전을 설치하면 바로 사용할 수 있습니다.
4.7 이전 버전인 경우:
사용.
모든 게시물을 가져오려면:
www.mysite.com/wp-json/wp/v2/posts
검색 기능에서는 테스트 포스트를 검색하는 방법은 다음과 같습니다.
/wp-json/wp/v2/posts?filter[s]=test
최신 WordPress 4.7+에서 이 문제가 발생했습니다.제 경우 REST API는 permalinks 설정을 기본 설정인 "Plain" 이외의 설정으로 변경한 후에만 작동합니다.
WPEngine과 WP 4.9.2에서는 v2 API 콜을 반환하기 위해 permalinks를 업데이트하기만 하면 새로 설치된 사이트를 얻을 수 있습니다.내가 한 일:
- 사이트 생성
- http://yoursitename.wpengine.com/wp-json/wp/v2/posts 에 접속합니다.
- 404를 얻다
- admin, settings, permalinks로 이동하여 "Post Name"을 선택합니다.
- "Save Changes"를 클릭합니다.
- http://yoursitename.wpengine.com/wp-json/wp/v2/posts 에 접속합니다.
- 성공.페이지에 JSON 응답이 표시됩니다.
Apache 설정에 문제가 있는 것으로 판명되었습니다.
..htaccess
rooth word press
다음, '다음에', '다음에'로 이동했습니다./etc/apache2/sites-enabled
000-default
<고객명>님AllowOverride
했습니다.이것으로 대체했습니다.All
.
잘 했어!
파일 권한 오류입니다. 다음 솔루션을 적용하십시오.
을 편집합니다./etc/apache2/apache2.conf
/var/www/
"None"을 재시작합니다.apache2
★★★★★★ 。
먼저 WordPress REST API가 활성화되었는지 확인해야 합니다.
은 이입니다.https://yoursite.com/wp-json
JSON의 REST API입니다.에러 페이지가 표시되거나 홈페이지로 돌아가면 REST API가 활성화되지 않습니다.츠키노
이 경우 Permalinks를 활성화해야 합니다.
- 페 ( ( ( (방방방방방방방방방방방방방방방방방)
https://yoursite.com/wp-json
) - > settings > Permalinks ( )
https://yoursite.com/wp-admin/options-permalink.php
) - [ Plain ]가 선택되어 있지 않은 것을 확인합니다.
- 게시물 이름 선택(최적)
- 변경 사항을 저장하다★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★.
.htaccess
아래의 도움말 스크린샷을 참조하십시오.
이 문제는 다음 순서로 해결했습니다.
로 이동합니다.및 \Apache24\conf\httpd.conf 를 합니다.
LoadModule rewrite_module modules/mod_rewrite.so
.해야 합니다.
#
syslog.syslog.syslog.syslog..
AllowOverride None
로로 합니다.AllowOverride All
.Apache 서버를 재시작하는 것을 잊지 마십시오.:)
SSH를 통해 Ubuntu 서버의 Apache 가상 호스트 구성에 "AllowOverride All"을 추가하면 다음과 같은 이점이 있습니다.
sudo vi /etc/apache2/sites-available/my-website-name.com.conf
또한 (letencrypt를 사용하는 경우):
sudo vi /etc/apache2/sites-available/my-website-name.com-le-ssl.conf
그러면 파일은 다음과 같이 표시됩니다.
<VirtualHost *:80>
# or <VirtualHost *:443> for the SSL configuration
# [...]
DocumentRoot /var/www/my-website-name.com/public_html
<Directory "/var/www/my-website-name.com/public_html">
# this allows .htaccess files (e.g. generated by Wordpress)
# to overwrite the apache configuration on a directory basis:
AllowOverride All
</Directory>
# [...]
</VirtualHost>
사이트를 비활성화했다가 다시 활성화하고 Apache를 다시 로드하여 새 구성을 적용하는 것을 잊지 마십시오.
sudo a2dissite my-website-name.com.conf
sudo a2dissite my-website-name.com-le-ssl.conf
sudo a2ensite my-website-name.com.conf
sudo a2ensite my-website-name.com-le-ssl.conf
sudo service apache2 reload
으로 접들 a a 했다..htaccess
로합니다.chmod 664
에 복사합니다.
저도 같이 놀았어요.
- [ Settings ]> [ Permalinks ]
- "저장"을 클릭한 후 permalinks 페이지 하단의 코드를 사용하여 .htaccess를 수동으로 업데이트
- "index.php"를 다른 답변 중 하나로 추가하면
- ★★★를 확인합니다.
mod rewrite
되었습니다.a2enmod
.mysite/wp-json/
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★」mysite/?rest_route=/
이 제 에서 이로 인해 제 사이트에서 사용되는 REST API 기능이 일부 깨진 것은 아닙니다.
이에 대한 답변은 최근 서버 운영 방식을 변경한 것입니다.이로 인해 REST API가 깨졌지만 나중에야 알 수 있었습니다.
나는 이 도메인을 Apache에서 nginx로 변경했고, 나는 올바르게 전송하지 않았다..htaccess
커스터마이즈.따라서 이 문제에 대한 빠른 해결책은 Apache를 다시 사용하는 것입니다.이로 인해 사이트가 즉시 정상 작동 상태로 복원되었습니다.
향후 이 도메인을 nginx로 다시 변경할 예정이지만, 변경 시 REST API에 영향을 주지 않도록 주의하겠습니다.
WordPress 설치를 서브디렉토리에서 다른 디렉토리로 옮겼기 때문에, 제 경우는 WordPress 설정 때문에 문제가 발생했습니다..htaccess
모든 페이지를 이전 디렉토리로 리다이렉트하려고 했어요단지 업데이트의 문제일 뿐이다.olddir
로.newdir
...이거에 걸려 넘어진 적이 한두 번이 아니라서 여기에 두려고 했는데...
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /olddir/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /olddir/index.php [L]
</IfModule>
# END WordPress
사이트를 cPanel에서 Google Cloud Compute Engine 인스턴스로 이행했을 때도 같은 문제에 직면했습니다.처음에는 현재 전개하고 있는 PHP 버전이 이전 전개와 다르기 때문에 발생한 파일 권한에 관한 문제였습니다.
다음은 수정 방법 GCP WordPress 오류 "This page is not working example.com is currently controlling this request. HTTP ERROR 500
예를 들어 웹 사이트가 https://example.wordpress.com(wordpress)인 경우 아래 링크를 사용하여 API 설정/Permalinks 등에 관계없이 JSON 응답을 제공합니다.
사용 가능한 모든 엔드포인트를 표시하려면 https://developer.wordpress.com/docs/api/console/ 를 사용합니다.
교환하는 것을 잊지 마세요.**$site**
당신의 영역과 함께
최신 매뉴얼은 여기를 참조하십시오.https://developer.wordpress.com/docs/api/
Windows OS 를 사용하고 있는 경우는,Permalink Settings
다음과 같습니다.
Custom structure: /index.php/%postname%/
저는 localhost에서도 같은 문제에 직면해 있었고 WordPress 프로젝트 셋업의 루트 폴더에 있는 .htaccess 파일에서 RewriteBasePath를 설정하기만 하면 이 문제를 해결할 수 있었습니다.
**Example:**
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /[folder-name]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /[folder-name]/index.php [L]
</IfModule>
이 페이지의 다른 솔루션을 시도해 보았지만 작동하지 않았다면 public_html 폴더(또는 WordPress를 설치한 곳) 위의 루트 폴더에 추가 .htaccess 파일이 있는지 확인했습니다.
이전 설치에서 나왔거나 실수로 옮겼을 수 있는 추가 파일을 찾았습니다.그것은 '실제' .htaccess 파일에 모순되는 명령을 제공하고 있었습니다.삭제하면 문제가 해결됩니다.
에서 저는 Nginx pretty links에 이 을 추가합니다.이것을 에 추가합니다.location /
try_files $uri $uri/ /index.php?$args;
삭제해 보겠습니다.
순서 거부, 모든 허용에서 거부 허용...
.htaccess에서.
많은 기사를 읽었는데 로컬에 https 플러그인이 설치되고 활성화되는 강제 사이트가 있다는 것을 알게 되었습니다만, 증명서는 설정되어 있지 않습니다.https 플러그인을 비활성화해야 할 때 https에 대한 요청을 하고 있었습니다.
비활성화된 후 REST API에 접속할 수 있었습니다.
아주 깊이 있는 대답은 아니지만 그것은 나의 대답이었다.이것으로 시간을 절약할 수 있기를 바랍니다!
WordPress 6에서
할 수 , "URL"은 .URL Rewrite
요.Permalink settings
가 이 을 사용하여 하고 있는 것을 (REST는 URL에 접속하고 .)
http://example.com/index.php?rest_route=/wp/v2/posts
언급URL : https://stackoverflow.com/questions/34670533/wordpress-rest-api-wp-api-404-error-cannot-access-the-wordpress-rest-api
'programing' 카테고리의 다른 글
서버 마이그레이션 후 이미지 파일 이름으로 인코딩되는 특수 문자 (0) | 2023.02.26 |
---|---|
해시 조인(Oracle RDBMS)과 머지 조인(Merge Join)의 차이점은 무엇입니까? (0) | 2023.02.26 |
스프링 부트 데이터 JPA - 업데이트 쿼리 수정 - 지속성 컨텍스트 새로 고침 (0) | 2023.02.26 |
브라우저 새로 고침 후 angularjs 코드 변경이 표시되지 않음 (0) | 2023.02.26 |
Wordpress 구독(라벨(코셀)) (0) | 2023.02.26 |