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
Apache 一个文件夹规则的HTTPS重定向循环_Apache_.htaccess_Redirect - Fatal编程技术网

Apache 一个文件夹规则的HTTPS重定向循环

Apache 一个文件夹规则的HTTPS重定向循环,apache,.htaccess,redirect,Apache,.htaccess,Redirect,我正在尝试使用我放在yourfolder中的apache2.htaccess文件重定向一个文件夹中的流量。然而,每当我访问那个文件夹或子文件夹时,我都会得到一个“这个网页有一个重定向循环”。知道为什么这不是飞行吗 RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteCond %{REQUEST_URI} yourfolder RewriteRule ^(.*)$ https://www.yourdomain.com/yourfolder

我正在尝试使用我放在
yourfolder
中的apache2.htaccess文件重定向一个文件夹中的流量。然而,每当我访问那个文件夹或子文件夹时,我都会得到一个“这个网页有一个重定向循环”。知道为什么这不是飞行吗

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} yourfolder
RewriteRule ^(.*)$ https://www.yourdomain.com/yourfolder/$1 [R,L]

编辑:让我澄清一下,我正在尝试重定向
http://www.yourdomain.com/yourfolder
https://www.yourdomain.com/yourfolder

您的重写规则与每个页面都匹配,包括您试图将用户重定向到的页面。我找到了它。我添加了一个检查SSL是否关闭的条件,该条件有效:

RewriteEngine On 
RewriteCond %{HTTP:X-Forwarded-SSL} off
RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} yourfolder
RewriteRule ^(.*)$ https://www.yourdomain.com/yourfolder/$1 [R,L]

为什么你认为这不应该是一个循环?您从
yourfolder
重定向到
yourfolder
。因为传入流量在80上,所以重定向到443。两个不同的要求。事实上,这是正确的。所以,正如你自己的回答进一步说明的,这一定是一个循环,有非常特殊的情况。有,一个反向代理。很好的一点,我想我不掌握这些重写规则。我正在尝试重定向
http://www.yourdomain.com/yourfolder
https://www.yourdomain.com/yourfolder
。尝试添加异常,例如:如果不只是“yourfolder”,则重定向到