내 값 IS_HTTP에 따라 URL이 https 또는 http 여야하는지 여부를 아래 코드에서 결정합니다.htaccess rewriterules에서 1 폴더 제외
나는 항상 http://mydomain.com
에 대한 (HTTPS에서 리디렉션) HTTP (빈 QUERY_STRING이있다), http://mydomain.com/?q=home
, http://mydomain.com/?qq=home
를 원한다. 그리고 아래의 코드는 이러한 URL에 잘 작동하며 IS_HTTP를 1로 설정합니다. 모든 것이 완벽합니다. 그러나 관리 폴더에 대한 URL도 항상 httpS가되기를 원하므로이 URL에서 해당 URL을 제외하고 싶습니다.
그 이유는 아래 코드에 두 번째 문자열을 추가했기 때문에 이러한 URL이 RewriteRule^- [E=IS_HTTP:1]
에 적용되는 것을 막지는 않습니다. 왜?
#determine if page is supposed to be http
RewriteCond %{REQUEST_URI} !^administration [NC]
#if it has q=home or qq=home in querystring
RewriteCond %{QUERY_STRING} (^|&)(q=home|qq=home)(&|$) [NC,OR]
#or if query string is empty
RewriteCond %{QUERY_STRING} ^$
#set env var to 1
RewriteRule^- [E=IS_HTTP:1]
다시 말하지만, 나는 https://mydomain.com/administration/index.php
이 원하고 위의 코드를 중단하지 않는 이유 폴더/관리에서 다른 모든 파일은 RewriteRule^- [E=IS_HTTP:1]
가 중지 될 때까지?
내가 해봤 두 번째 문자열
했다 :RewriteCond %{REQUEST_URI} !^administration [NC]
RewriteCond %{REQUEST_URI} !^/administration [NC]
하지만 그들 중 누구도 작동하지 않습니다. (나는 REQUEST_URI가 /에서 시작하지 않기 때문에 여기에 필요하지 않다고 믿는다. 그러나 나는 틀릴 수도있다.)
감사합니다. 대신에이 조건의