현재 htaccess를 사용하여 apache2 서버의 모든 HTTP 요청을 https로 강제 전송합니다. https가 설정되어 제대로 작동합니다. 기본 도메인 이름 (예 : http://mydomain.com
) 만 사용하는 경우 htaccess 다시 쓰기가 작동하지만 http://mydomain.com/index.php
과 같은 작업을 수행하면 401 오류 메시지가 나타납니다. 내 htaccess는 htpasswd 파일을 사용하여 권한이있는 사용자에게 모든 콘텐츠를 제한한다는 것을 언급해야합니다.htaccess를 사용하여 https가 htpasswd로 전체 URL에 대해 작동하지 않음
http -> https에 대한 재 작성을 사용하지 않으면 http와 https가 로그인 할 때마다 긴 URL을 사용하여 제대로 작동합니다. 그렇지 않은 경우 로그인하라는 메시지가 표시됩니다. 사용자에게 로그인하라는 메시지를 표시하지 않고 단순히 401 오류 페이지를 표시합니다.
이 내 htaccess로 파일 : 그 재 작성 선없이
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
AuthName "Enter Account Info... Or your computer will blow up!!!"
AuthType Basic
AuthUserFile /<censored>/.htpasswd
AuthGroupFile /dev/null
require user <censored>
, 모든 것이 잘 작동합니다. http 또는 https에 대한 요청은 정상적으로 작동하지만 다른 것을 위해 rewrite를 사용하면 기본 도메인이 어딘가에서 깨지는 것처럼 보입니다.
나는 웹에서 발견 된 다양한 재 작성 규칙을 시도해 보았습니다. 모두 동일한 결과를주었습니다. 직접적인 페이지 링크가 아닌 기본 URL에 대해 잘 작동합니다.
필자는 htaccess를 변경하고 다시 쓰기 규칙을 제거하고 PHP 코드의 몇 가지 핵심 위치에 배치했습니다. 'if ($ _ SERVER [ "HTTPS"]! = "on ") .... ....이 방법은 사이트에서 사용하는 모든 URL (http와 https 모두)에서 작동하는 것으로 보입니다. 그것은 처음에 http를 사용하면 이중 로그인을 강요하지만, 이것은 잠시 동안 허용됩니다. – MirtheN