이 영역에 대한 지식 부족을 용서하십시오.강제로 HTTPS/Mod-rewrite를 역순으로 사용하십시오 (WordPress 사용)
첫째, 우리의 상황 : 우리는 우리가 http://www.xxx.ca/x이 때로는 http://www.xxx.ca/x/y이 http://xxx1a.xxx.ca/x 또는 http://xxx1a.xxx.ca/x/y
우리는 우리가 어떤을 정의 할 필요가 없습니다 경우 일반의 .htaccess를 만들기 위해 노력 해왔다로 전달되는 역방향 프록시 설정을 가지고 서브 디렉토리. 기본적으로 사이트 기반으로 사이트의 파일을 수정하지 않고도이 .htaccess를 100 개 사이트에서 사용할 수 있습니다.
이 부분이 작동했습니다. 그러나 https를 강제 적용 할 수 없습니다. 모든 예제에서는 HTTP_HOST를 사용합니다. 원래 요청이 아닌 프록시 서버의 값을 반환합니다.
아마도 우리가 설정 한 것과 완전히 다른 해결책이있을 수 있지만 아파치 지식은 제한적일 수 있습니다. 아래는 일반적인 하위 폴더 문제는 해결할 수 있지만 HTTPS 문제는 해결할 수 없습니다.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteRule ^index\.php$ - [L]
RewriteCond %{ENV:URI} ^$
RewriteRule ^(.*)$ - [ENV=URI:$1]
RewriteCond %{ENV:BASE} ^$
RewriteCond %{ENV:URI}::%{REQUEST_URI} ^(.*)::(.*?)\1$
RewriteRule^- [ENV=BASE:%2]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . %{ENV:BASE}index.php [L,QSA]
</IfModule>
더 나은 해결책이 있다면 완전히 100 % 변경하려고합니다.
동안 // 메타 .stackexchange.com/questions/114762/explain-entire-code-based-answers)은 게시물의 품질을 향상시키는 데 정말로 도움이됩니다. 앞으로 독자의 질문에 답하고 있으며 코드 제안의 이유를 알지 못할 수도 있습니다. 코드와 설명의 가독성을 떨어 뜨리기 때문에 주석을 설명하는 코드를 사용하지 마십시오! – FrankerZ
이것은 작동하지 않습니다. 명시된 바와 같이 - HTTP_HOST를 사용하는 것은 우리가 프록시하고 원래 요청을 보존하지 않는 서버의 값을 사용하는 것 같습니다. – mcorkum
예를 들어, 우리의 프록시가 www.example.com/test-> server1.example.com/test 인 경우이 규칙은 사용자가 https : //server1.example.com/test가 아닌 https : //www.example.com/test – mcorkum