WordPress를 https로 전환한 후 리디렉션 수가 너무 많음
WordPress-Blog를 사용하여 https로 전환합니다.따라서 다음 코드를 .htaccess-File에 추가했습니다.현재 문제는 "Too many Redirects"라는 문제가 발생한다는 것입니다.팁 고마워요!
도메인은 하위 도메인입니다.
# Begin Force SSL
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]
# End Force SSL
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
WP_SITEURL 및 WP_HOME을 wp-config로 정의해 주세요.php
define('WP_HOME','https://yourdomain.com');
define('WP_SITEURL','https://yourdomain.com');
또한 이 조건을 추가하여 https가 wp-config인지 확인합니다.php
if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && 'https' == $_SERVER['HTTP_X_FORWARDED_PROTO'] ) {
$_SERVER['HTTPS'] = 'on';
}
wp-config에 있는 아래 코드를 사용하여 문제를 해결했습니다.php
define('WP_HOME','https://mywebsite.com');
define('WP_SITEURL','https://mywebsite.com');
$_SERVER['HTTPS'] = 'on';
나는 같은 문제가 있어서 다음 작업을 해야 했다..htaccess
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R=301,L]
에wp-config.php
define('FORCE_SSL_ADMIN', true);
define('RELOCATE', TRUE);
$_SERVER['HTTPS'] = 'on';
define('WP_HOME', 'https://yourdomain.com');
define('WP_SITEURL', 'https://yourdomain.com');
HTTPS가 fast cgi에 연결되어 있는지 확인하지 않는 한 nginx에서 아래를 사용하지 마십시오.그렇지 않으면 동작하지 않습니다.
if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && 'https' == $_SERVER['HTTP_X_FORWARDED_PROTO'] ) {
$_SERVER['HTTPS'] = 'on';
}
nginx의 오류 로그에 유익성 로그 디버깅레벨이 있을 수 있습니다이렇게 하면 플로우를 확인할 수 있습니다.
반드시 정의해 주세요.WP_SITEURL
그리고.WP_HOME
에wp-config.php
define('WP_HOME','https://yourdomain.com');
define('WP_SITEURL','https://yourdomain.com');
또한 이 조건을 추가하여 https가 wp-config인지 확인합니다.php
if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && 'https' == $_SERVER['HTTP_X_FORWARDED_PROTO'] ) {
$_SERVER['HTTPS'] = 'on';
}
이것은 잘 작동한다.
처음 세 줄을 다음과 같이 변경해 보십시오.
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R=301,L]
https://en.example.com/:443에 접속하지 않으면 {SERVER_PORT}은 443을 반환하지 않습니다.
발췌:wp-config.php 파일의 선두에 다음 코드 행을 추가하면 리다이렉트 경합이 해결되었습니다.
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
$_SERVER['HTTPS']='on';
Cloudflare 및 Nginx를 사용하는 경우:
1-클라우드 플레어로 이동하여 페이지 규칙에서 항상 HTTPS를 사용합니다.
2- 아래 코드를 wp-config에 추가합니다.php
define('WP_HOME','https://example.com/blog');
define('WP_SITEURL','https://example.com/blog');
if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && 'https' == $_SERVER['HTTP_X_FORWARDED_PROTO'] ) {
$_SERVER['HTTPS'] = 'on';
}
주의: 데이터베이스에서 아무것도 변경하지 말고 익명 모드를 사용하십시오.
직접 답변은 아니지만 주의해야 할 점은 일부 브라우저는 리다이렉트를 캐시하기 때문에 htaccess 또는 wp-config를 변경하지 않고 변경할 수 있다는 것입니다.
이를 디버깅하는 가장 좋은 방법은 incnognito 모드를 사용하는 것입니다.
위의 답변은 효과가 있었지만 브라우저 리다이렉트 캐싱으로 인해 실제로 작동했다는 것을 알아내는 데 오랜 시간이 걸렸습니다.
언급URL : https://stackoverflow.com/questions/29478863/too-many-redirects-after-switching-wordpress-to-https
'programing' 카테고리의 다른 글
Script Manager를 가져올 수 없습니다.WebControl의 RegisterStartupScript가 UpdatePanel에 중첩되어 작동합니다. (0) | 2023.03.14 |
---|---|
대규모 스트림 JSON 디코딩 (0) | 2023.03.14 |
Oracle 스키마의 전체 DDL을 생성하는 방법(스크립트 가능) (0) | 2023.03.14 |
내 WordPress 웹 사이트의 "Endurance Cache" 기능은 무엇입니까? (0) | 2023.03.14 |
스프링 rest템플릿 raw json 문자열을 가져옵니다. (0) | 2023.03.14 |