2016-06-23 2 views
1

방금 ​​전에 새 서버로 옮긴 드루팔 (Drupal) 7 사이트가 있습니다. 관리자로 로그인했는데 관리자 바 (admin 모듈이 설치되어 있습니다) 또는/user 페이지의 로그 아웃 버튼을 클릭하면 다음과 같은 메시지가 나타납니다 :드루팔 (Drupal 7 : 로그 아웃 불가 : 사용자/로그 아웃은 404

페이지를 찾을 수 없음 요청한 페이지 "/user/logout "을 (를) 찾을 수 없습니다.

아파치 로그를 보면/user/logout에 404가 표시됩니다. 그럼, 여기서 어떻게됩니까? 로컬에서 그리고 drupal의 admin 메뉴를 통해 캐시를 비우는 것은 아무런 일도하지 않습니다 - 로그인 상태를 유지하고 관리 바가 여전히 존재하기 때문에 캐시 문제라고 생각하지 않습니다.

드루팔 (Drupal)에 관해서는 상당히 익숙해 져 있으므로 답변에 추가 세부 정보를 포함하십시오. PHP 코드를 어디에 넣어야 할지를 알 필요가 없습니다.

+0

다른 모든 기본 기능 (URL 정리, 페이지로드, 메뉴 작업 등)이 있습니까? – acrosman

+0

그래. 이것이 작동하지 않는 유일한 방법입니다. – Rokujolady

답변

0

이것은 내 사건과 상당히 관련이있는 것으로 판명되었습니다. CAS 모듈을 사용하는 모듈을 설치했습니다. 특정 ldap 서버를 통한 인증을 허용했습니다. (이 모듈은 특정 ldap 서버의 모든 사용자를 위해 만들어졌으며 집에서 만들거나 drupal 사이트에서 사용할 수 없습니다.) 우리는 편의를 위해 foo_cas라고 부를 것입니다. 새 서버로 옮겼을 때 foo_cas는 더 이상 필요하지 않았습니다. 게다가 foo_cas가 중단되어 더 이상 LDAP 서버에 로그인 할 수 없었습니다. 내 새 서버에 php ldap plugin이 설치되어 있지 않아 그 이유가 의심 스럽습니다.

어쨌든, 이동 후에는 위의 ldap 문제로 인해 foo_cas를 다시 비활성화 할 수 없으므로 백엔드의/all/modules/foo_cas 폴더 사이트를 삭제했습니다. 이것이 로그 아웃 URL을 위반 한 것입니다. 나는 foo_cas의 코드 레벨에서 그게 무슨 일을했는지 ​​모르겠습니다. 결국 내 해결책은 foo_cas 폴더를 sites/all/modules 디렉토리에 다시 두어 모듈을 다시 사용할 수있게했지만 사용할 수 없도록 설정하는 것이 었습니다. 그런 다음 UI의 모듈에서 제거 탭을 사용하여 foo_cas를 제거했습니다. foo_cas가 설치되었을 때 foo_cas가 데이터베이스를 변경했다는 것을 의심 스럽습니다.이를 제거하면 제대로 실행 취소해야합니다. 이제/user/logout이 다시 작동합니다.