Apache中HTTP和HTTPS请求的区分

Apache中HTTP和HTTPS请求的区分,apache,Apache,对于一个特定的文件,我需要根据它是HTTP还是HTTPS以及HTTP方法GET重定向。几乎没有像这样的问题 我使用setenvif来了解传入的请求是HTTP还是HTTPS SetEnvifLocase代理SSL。是。这是HTTPS吗 如何在RewriteCond中使用此变量?并提供以下重写/重定向指令将其重定向到HTTPS 提前感谢要检查请求是否来自http或https您可以使用RewriteCond和%{https} RewriteCond %{HTTPS} on RewriteRule

对于一个特定的文件,我需要根据它是HTTP还是HTTPS以及HTTP方法GET重定向。几乎没有像这样的问题

我使用setenvif来了解传入的请求是HTTP还是HTTPS

SetEnvifLocase代理SSL。是。这是HTTPS吗

如何在RewriteCond中使用此变量?并提供以下重写/重定向指令将其重定向到HTTPS


提前感谢要检查请求是否来自httphttps您可以使用
RewriteCond
%{https}

RewriteCond   %{HTTPS}  on
RewriteRule ^particular.php$   /https.php  [L,R=302]
RewriteCond   %{HTTPS}  off
RewriteRule ^particular.php$   /http.php   [L,R=302]
更新:既然您要求使用环境变量,以下是您的解决方案:

RewriteCond   %{IS_HTTPS}  yes
RewriteRule ^particular.php$   https://%{HTTP_HOST}/https.php  [L,R=302]
RewriteCond   %{IS_HTTPS}  no
RewriteRule ^particular.php$   http://%{HTTP_HOST}/http.php   [L,R=302]

我想改用环境变量。这可能吗?我想改用环境变量。可能吗?当我在RewriteRule^(*)/Mypage.xml上使用RewriteCond%{HTTPS}时,[F]显示禁止,即使请求是HTTPS。你能让我知道更多关于这个吗??另外,请您在回答中解释一下重写规则。我已经使用了第一个规则,如果它为“开”,则https和http都显示为200k,否则为403。请您指导我如何设置EnvifNocase代理SSL。*是。*是HTTPS RewriteEngine on RewriteCond%{HTTPS}on RewriteRule^(.*)/DiscoveryTree.xml-[F]好的,首先需要用变量的实际值替换
,然后检查编辑!