Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 仅将单个文件夹的所有HTTP重定向到HTTPS_.htaccess_Mod Rewrite - Fatal编程技术网

.htaccess 仅将单个文件夹的所有HTTP重定向到HTTPS

.htaccess 仅将单个文件夹的所有HTTP重定向到HTTPS,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我有以下代码将所有HTTP://请求重定向到HTTPS://(见下文)。但是,我只想为名为“account”的1个文件夹执行此操作 因此,只有对的请求才会变成 有人能帮忙吗 ---更新--- 请注意,我还希望确保此文件夹之外的所有请求保持正常的HTTP而不是HTTPS。请尝试: RewriteEngine On RewriteCond %{HTTPS} !on RewriteRule ^account(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R]

我有以下代码将所有HTTP://请求重定向到HTTPS://(见下文)。但是,我只想为名为“account”的1个文件夹执行此操作

因此,只有对的请求才会变成

有人能帮忙吗

---更新---

请注意,我还希望确保此文件夹之外的所有请求保持正常的HTTP而不是HTTPS。请尝试:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^account(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R]
您以前使用的
(.*)
模式匹配每个请求,
^account(.*)$
模式只匹配以
/account
开头的请求


要防止其他请求使用SSL,请执行以下操作:

RewriteCond %{HTTPS} on
RewriteRule !^account http://%{HTTP_HOST}%{REQUEST_URI} [L,R]

谢谢@Jon Lin。如果匹配这样的文件夹,您会这样做吗?我想确保它只与根目录中的帐户文件夹匹配。@Andrew the
^
确保它必须位于请求URI的开头。我看到一个小问题,所以更新了我的问题。我还需要此文件夹之外的所有请求保持常规HTTP而不是HTTPS。有什么想法吗?如果你有这个域名的证书,为什么不把所有流量都推到https上呢?
RewriteCond %{HTTPS} on
RewriteRule !^account http://%{HTTP_HOST}%{REQUEST_URI} [L,R]