워드프레스 nginx 리다이렉트루프
그래서 어제 "/root" 디렉토리에 워드프레스를 설치하는 방법에 대해 질문이 있었습니다.나는 그 일을 잘 하지 못했고 그 일은 포기했다.
따라서 현재 워드프레스는 "/var/www/wordpress" 폴더에 있습니다(따라서 별도의 폴더 아래에 있음). (중요하다면 Ubuntu 12.04 LTS를 사용합니다.)
문제는 모든 것을 설정한 직후(거기서는 모든 것이 잘 동작하고 있었다) 관리 패널 페이지로 리다이렉트 된 것입니다.블로그에 접속하려고 하는 순간까지 모든 것이 잘 되어가고 있었습니다.
제 블로그의 URL 주소는 blog.mysite.com 입니다.그렇기 때문에 NGINX를 사용하는 이유는 1대의 서버에 2개의 다른 애플리케이션(및 환경)이 있고, 그것들을 구별할 필요가 있기 때문입니다.
blog.mysite.com/wp-admin(/wp-wp.http.http:/wp.http:/wp.http.http:/wp.http:/wp.http:/wp.http:/http:/http:/http:/http:/http:/http:/http:blog.mysite.com)는 정상적으로 동작하고 있습니다.
관리 패널에서 "WordPress Address(URL)"와 "Site Address(URL)"를 모두 "http://blog.mysite.com"로 설정합니다.둘 중 하나를 "http://blog.mysite.com/wordpress"과 같은 다른 것으로 수정하는 것은 전혀 도움이 되지 않습니다.
.htaccess 파일은 비어 있지만 기본 permalinks를 사용하고 있기 때문에 문제가 되지 않습니다(단, 잘 모르겠습니다).
nginx 및 apache2 루트 지시어는 모두 "/var/www/wordpress"를 가리키고 있습니다.스태틱 파일(css,js)은 동작하고 있습니다.
어떻게 하면 이 문제를 해결할 수 있을까요?아무쪼록 잘 부탁드립니다!
잘 부탁드립니다!
가장 예쁜 수정은 아니지만 테마에서 리디렉션 필터를 제거합니다.functions.php
파일은 나에게 효과가 있었다.
remove_filter('template_redirect', 'redirect_canonical');
OP의 답변에 제공된 링크:
워드프레스는 무한 301 리다이렉트 루프를 실행했습니다.
마침내 해결책을 찾았습니다.
http://www.violato.net/blog/php/88-wordpress-did-infinite-301-redirect-loop
이것이 나와 같은 문제를 안고 있는 다른 사람들에게 도움이 되기를 바랍니다.
여러분 감사합니다.
Nginx를 Apache의 리버스 프록시로 사용하는 것과 비슷한 문제가 있었습니다.
몇 시간 후, 나는 그것이 에 의해 발생했다는 것을 알았다.$_SERVER["REQUEST_URI"]
세팅되어 있다index.php
실제 URL 대신 Nginx에 의해 Wordpress가 제거하려고 했습니다.index.php
"URL"이 없는 index.php
wp-includes/canonical.php
.
제 해결책은 이런 걸 쓰는 거예요.
proxy_pass http://111.111.111.111:8080$request_uri;
ㅇㅇㅇㅇㅇ를 ,$request_uri
쳤습니니다다
과거에 Apache에서 Nginx로 전환할 때 문제가 많았는데, Apache를 삭제하면 모두 해결되어 Nginx에 간섭을 일으켜 모든 서버에 문제가 발생하였습니다.다음은 Nginx와 Wordpress 가이드 양쪽에 따라 Nginx를 위한 워드프레스 구성입니다.
server {
listen 80;
server_name blog.mysite.com;
root /var/www/wordpress;
index index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
access_log off; log_not_found off; expires max;
}
location ~ \.php$ {
try_files $uri /index.php;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# CHANGE THE LINE ABOVE IF NEEDED
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
서버를 전환할 때 관리 패널에서 아무것도 변경할 필요가 없었습니다.그냥 정상적으로 동작했습니다.
제 경우 리다이렉트루프는 wp-admin 페이지에만 영향을 미치기 때문에 행의 선두에 추가했습니다.
if (is_admin) remove_filter('template_redirect', 'redirect_canonical');
그리고 리다이렉트 표준이 프런트 엔드에서 계속 제 역할을 하고 있습니다!
이게 다른 사람에게 도움이 됐으면 좋겠어!
요청을 전송하기 위해 nginx를 사용했기 때문에 이 문제가 발생했지만 nginx는 HOST 헤더를 보존하지 않았습니다.
을 내 이 my my my my에 location
블록이 예상대로 작동하기 시작했습니다.
# Set proxy headers for the passthrough
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# Let the Set-Cookie header through.
proxy_pass_header Set-Cookie;
언급URL : https://stackoverflow.com/questions/19979843/wordpress-nginx-redirect-loop
'programing' 카테고리의 다른 글
GET 요청을 통해 Angular를 사용하여 어레이 전송JS의 $http 서비스 (0) | 2023.03.07 |
---|---|
커스텀 필터에 Java Configuration을 사용하여 Authentication Manager를 삽입하는 방법 (0) | 2023.03.07 |
mongo 콘솔에서 오브젝트 ID를 사용하여 오브젝트를 검색하려면 어떻게 해야 합니까? (0) | 2023.03.07 |
WordPress - PHP 경고 스트림을 열지 못했습니다.해당 파일 또는 디렉토리(advanced-cache.php)가 없습니다. (0) | 2023.03.07 |
동일한 도메인 사이트 간 쿠키 공유 - 헤드리스/디커플링된 CMS (0) | 2023.03.07 |