wp-admin 또는 wp-login.php에서 루프 재연결
저는 MAMP를 사용하여 로컬에서 빠른 워드프레스 사이트를 만든 다음 SVN 레포로 확인했습니다.그런 다음 개발 서버에서 확인했습니다.
인터커넥트에서 검색 및 교체 도구 스크립트를 실행하여 서버의 데이터베이스에 있는 사이트의 URL을 업데이트하는 것 외에는 변경한 사항이 없습니다.
처음에 500 서버 오류가 발생했습니다.로그를 확인해보니 이 "소프트 익셉션"은index.php
그룹별로 쓸 수 있었습니다. 권한은 664개였습니다.문제없습니다. 권한을 644로 빠르게 변경하면 이를 정렬할 수 있습니다.그래서 지금은 전면이 작동하고 있었습니다.
그런데 이상하게도 사이트의 관리자 쪽이 작동하지 않았습니다.모든 브라우저에서 무한 리다이렉트 루프가 생성되었을 뿐입니다.
Error 310 (net::ERR_TOO_MANY_REDIRECTS): There were too many redirects.
로컬 개발 버전 이후로 달라진 것은 없습니다.htaccess 파일은 표준 WordPress 파일일 뿐입니다.이상한 건...여전히 현지에서 잘 작동하고 있습니다.
그래서 어떻게 된 거지?
어떤 이유로 /wp-admin/path는 리디렉션 루프를 발생시키지만 /wp-admin/index.php는 발생하지 않습니다.따라서 .htaccess를 사용하여 다음과 같이 "RewriteBase /" 행 뒤에 다음 행을 .htaccess 파일에 추가하여 /wp-admin/path를 /wp-admin/index.php로 리디렉션할 수 있습니다.
RewriteBase /
RewriteRule /wp-admin/ /wp-admin/index\.php [L,P]
저한테는 그렇게 통했어요.final.htaccess는 다음과 같습니다.
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule /wp-admin/ /wp-admin/index\.php [L,P]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
wp-login.php
- 들게든어다는을된이과한은로 -한한은과된dd이tsre-다te6y4nodo들든windex.php
오류가 발생하여 500 서버 오류가 발생했습니다.
는 했습니다의 했습니다.wp-login.php
로, 떴습니다. 64로,하세요. 워드프레스 로그인 페이지가 나타났어요.
하지만 로그인하면 다른 방향 전환 루프가 발생합니다.서,시,를,,/wp-admin/index.php
은 644. . 664. 664.
이를 수정하면 다음 파일에 문제가 발생했습니다. 대시보드가 엉망이었습니다.664에서 644로 하나씩 변경하여 문제를 해결했습니다(/wp-admin/load-scripts.php, /wp-admin/load-styles.php).
따라서 권한을 재귀적으로 변경하는 것만이 상황을 정리할 수 있는 유일한 방법임이 명백해졌습니다.
내 유닉스는 정확히 최고 수준은 아니지만, 이것은 작동한 것으로 보입니다(Mac OS X Terminal에서 실행).이 WP 설치의 루트 디렉터리에서 실행했습니다.
find . -type f -perm 664 -print -exec chmod 644 {} \;
더 나은 명령이 있겠지만, 이것은 "664 권한이 있는 모든 파일을 찾아서 644로 변경하라"는 의미로 이해합니다.
그것이 제 문제를 해결해 주었습니다.
Cloudflare를 사용하는 경우 wp-config.php 파일의 TOP에 추가해 보십시오.
define('WP_SITEURL', 'https://www.example.com');
define('WP_HOME', 'https://www.example.com');
define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
if(isset($_SERVER['HTTP_CF_VISITOR']) && strpos($_SERVER['HTTP_CF_VISITOR'], 'https')){
$_SERVER['HTTPS']='on';
}
wp-config.php 파일 상단에 추가하는 것이 중요합니다. 그렇지 않으면 "미안합니다. 이 페이지에 액세스할 수 없습니다"라는 오류 메시지가 나타납니다.
크레딧: https://www.meltajon.com/dev/wordpress-wp-admin-redirect-loop-with-cloudflare-ssl
만약 당신의 웹서버가 nginx이면 당신은 nginx의 구성파일을 확인해야할수도 있습니다.있다면
if (!-f $request_filename){
rewrite ^/(.+)$ /index.php?$1& last;
}
이 선들을 다음으로 바꿉니다.
try_files $uri $uri/ /index.php?$args;
참고 항목Nginx Pitfalls, WordPress wiki 페이지(nginx의 wiki 페이지)
nginx config의 경우 원래는 이 행만 있었고 동일한 리디렉션 문제가 발생했습니다.
location / {
try_files $uri /index.php$is_args$args;
}
이것을 추가한 후 모든 것이 정상이었습니다.
location /wp-admin/ {
index index.php;
try_files $uri $uri/ /index.php$args;
}
Cloudflare를 사용하는 경우 Cloudflare 계정의 SSL/TLS 탭에서 전체 암호화를 선택합니다.그러면 문제가 해결될 겁니다.
방향전환기를 내려놓을 수 밖에 없었어요.관리자에 접속할 수 없었기 때문에 이것을 내 기능의 맨 위에 추가했습니다.php 파일:
flush_rewrite_rules(); exit;
저장하고 사이트를 새로 고쳤습니다.그런 다음 기능에서 코드를 제거합니다.php 파일 그리고 다시 새로 고침.그렇게 해주었어요.
저는 또한 당신의 영구적인 링크를 보존하는 것이 좋은 방법이 될 수도 있다고 생각합니다.
추신. 메인 이슈는 테마-마이-로그인에서 /로그인으로 리다이렉트 되는 것 같습니다.
WP 사이트에 게시하려고 할 때 DoS 페이지를 받고 있었습니다.기능에서 권한 변경에 대한 조언을 찾았습니다.600에 대한 php 파일은 문제를 해결할 수 있고, 또한 그 파일에 스크립트 스니펫을 추가할 수 있습니다.WP 도움말 페이지였습니다.저는 해결책으로 출판사에 갈 수 있었습니다.편집기를 열려고 해도 여전히 DoS가 있습니다.
제 문제는 하드디스크가 꽉 차 있다는 것이었습니다.wp-login.php로 리디렉션되는 워드프레스 관리 패널에 로그인하려고 했습니다.몇 개의 파일을 삭제한 순간 다시 로그인할 수 있었습니다.
선을 제거하려면 다음과 같이 하십시오.
define('DOMAIN_CURRENT_SITE', 'www.sitename.de');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
wp-config.php
그 일을 해야 합니다.
이 선들은 다중에 필요하지 않습니다.
사이트 사용 폴더에서 사이트에 대한 구성을 편집하고 다중 사이트 리디렉션 규칙을 추가해야 합니다.Ubuntu 14.04의 경우 /etc/nginx/sites-available에서 경로를 찾을 수 있습니다.
서버 블록에 다음 블록을 추가하면 무한 리디렉션 루프를 피할 수 있습니다.
#Rewrite multisite '.../wp-.*' and '.../*.php'.
if (!-e $request_filename) {
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
rewrite ^/[_0-9a-zA-Z-]+(/wp-.*) $1 last;
rewrite ^/[_0-9a-zA-Z-]+(/.*\.php)$ $1 last;
}
WP Migrate DB로 작성된 db 스크립트를 복원하기 때문에 저의 경우에도 비슷한 문제가 있었습니다.스크립트에는 mysql에서 스크립트를 실행하고 wp-config를 가리키기 전에 수정해야 하는 "##DEV URL ##"과 같은 병합 태그가 있었습니다.정확한 데이터베이스로 php.
제 경우에는 아파치의 것이었습니다.DirectoryIndex
이슈. 더wp-admin
에 의해 접근되고 있었습니다.wp-admin/index.php
함께는 아니지만wp-admin
보여주기를ERR_TOO_MANY_REDIRECTS
.
아파치의 것처럼 들립니다.DirectoryIndex
"무제한"으로 설정될 수 있습니다.이것을 상단에서 재설정해 보십시오..htaccess
파일:
DirectoryIndex index.php
전체 답변은 여기서 보세요./index.php가 없으면 wp-admin으로 관리 대시보드에 액세스할 수 없습니다.
nginx가 있는 경우 인덱스 구성도 확인합니다.저는 한가지 문제가 있었습니다.다음과 같이 설정했습니다.
server {
server_name _;
root /var/www/html;
index /index.php;
}
그래서 보시다시피 저는 index.php를 trailing slash로 설정했는데, 이는 모든 다시 쓰기 요청이 document_root의 index.php로 간다는 것을 의미합니다.WP의 경우 wp-admin 디렉토리에 자체 인덱스가 있기 때문에 잘못된 것입니다.php
위의 답변들은 저를 꽤 가깝게 만들었습니다.우리의 특별한 경우, 어떤 시점에서 누군가가 사이트 루트 및 관리 폴더의 htaccess 파일에 일부 규칙을 추가하여 일부 화이트리스트 IP를 제외한 모든 곳의 트래픽을 차단했습니다(wp-admin 액세스 시도 시).
예:
<Files wp-login.php>
order deny,allow
Deny from all
# Allow from this IP address
allow from 123.45.67.89
</Files>
두 파일의 화이트리스트에 IP를 추가하면 문제가 해결되었습니다.
다른 서버에서 백업을 복원한 후에도 동일한 문제에 직면했습니다. 이런 식으로 해결하는 것은 유망한 문제였습니다.
chown -R www-data:www-data /var/www
chmod -R g+rwx /var/www
어디에/var/www
웹 사이트 파일을 저장할 장소, 환경설정에 따라 적합한 경로로 대체합니다. 예를 들어/usr/share/nginx/www
<< 기본 Nginx
언급URL : https://stackoverflow.com/questions/14532520/redirect-loop-on-wp-admin-or-wp-login-php
'programing' 카테고리의 다른 글
사용자 정보와 사용자 로그인 및 비밀번호를 가장 잘 저장하는 방법 (0) | 2023.09.17 |
---|---|
스프링 : @모델속성 VS @RequestBody (0) | 2023.09.17 |
테이블에 새 행과 데이터를 추가하는 함수 또는 하위 (0) | 2023.09.17 |
Spring Social로 휴식 인증을 하는 방법은? (0) | 2023.09.17 |
Git의 유명한 "ERROR: .git에 대한 권한이 사용자에게 거부됨" (0) | 2023.09.17 |