이것은 또 다른 .htaccess 질문입니다. 그리고 나는 이미 나의 문헌을 검토했다. 어떤 도움을 주시면 감사하겠습니다.htaccess (https to http)
요구 사항 : 몇 URL에
- 포스 HTTPS.
- 브라우저는 부분적으로 암호화 된 페이지 인 SSL 페이지의 경우이라고해서는 안됩니다.
나는에 config.php를에 BASE_URL을 CodeIgnitor을 사용하고 쥐게하고 있습니다 : URL이 https로 액세스 할 경우
$config['base_url'] = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ? 'https://' : 'http://' ;
$config['base_url'] .= $_SERVER['HTTP_HOST'];
$config['base_url'] .= preg_replace('@/[email protected]','',dirname($_SERVER['SCRIPT_NAME'])).'/';
그래서 : // 모든 링크 그 안에 포함 된 또한 "부분적으로 암호화 된 페이지"문제를 피하기위한 것입니다.
나는 다음과 같은 htaccess로 코드로 시작이 ABC, XYZ 또는 PQR을 갖는 임의의 URL로
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)/(abc|xyz|pqr)(.*)$ https://%{HTTP_HOST}/cart/$2$3 [R=301,NC,L]
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^(.*)/(abc|xyz|pqr)(.*)$ [NC]
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,NC,L]
HTTPS로 리디렉션되고있는 URL은 다시 강요 당할 것이다 가지고 있지 HTTP로.
이것은 제대로 작동했지만 "부분 암호화 된 페이지"문제는 피할 수 없다는 점에서 유일한 문제입니다. 예를 들어 URL이 http://www.example.com/abc/index.php 일 경우 https://www.example.com/abc/index.php으로 리디렉션됩니다. 그러나이 페이지의 링크는 후자의 재 작성 규칙 때문에 https://www.example.com/images/logo.png으로 변경됩니다. 이로써 페이지가 부분적으로 암호화됩니다.
또한이 문제를 해결하기 위해 http_referer 검사를 추가했지만이 문제는 해결되지 않을 것입니다. HTTPS 페이지에서 발생하는 모든 클릭은 절대로 HTTP로 변환되지 않기 때문입니다.
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)/(abc|xyz|pqr)(.*)$ https://%{HTTP_HOST}/cart/$2$3 [R=301,NC,L]
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_REFERER} !^(https)(.*)$
RewriteCond %{REQUEST_URI} !^(.*)/(abc|xyz|pqr)(.*)$ [NC]
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,NC,L]
이 간단한 문제에 대한 더 나은 접근 방법이 있는지 알고 싶거나 잘못하고 있습니다. .htaccess 대신 CI 후크를 사용하면이 문제를 해결할 수 있습니까? 사전
메신저 그냥 묻습니다. 왜 사용자 정보를 비공개로 유지하지 않겠습니까? – TheCrazyProfessor