1

我有一个安装了 HTTPS 的网站。我需要确保所有页面(故意使用 HTTPS 的页面除外)都强制显示在非 https 上。HTTPS 仅安装在domain-name.com/ssl-directory/what-ever-page-goes-here/

因此,只有之后的页面domain-name.com/ssl-directory/应该保留 HTTPS(他们现在这样做)和所有其他页面(包括domain-name.com/ssl-directory/它自己应该被强制为非 https)。

到目前为止,这就是我所拥有的,但它不起作用,因为我不是 htaccess 重定向专家,我不知道为什么。

RewriteEngine on
RewriteCond %{HTTPS} =on
RewriteCond %{REQUEST_URI} !^ssl-directory/(.*)
RewriteRule .* http://%{SERVER_NAME}%{REQUEST_URI} [R,L]

正如我所说,我不是这方面的专家,但我认为这应该意味着 =>

打开RewriteEngine_

如果HTTPS

如果REQUEST_URI不是的孩子ssl-directory

重写到同一页面,但使用http

显然我做错了什么,所以任何帮助将不胜感激。

谢谢

4

1 回答 1

0

Replace your code with this:

RewriteEngine On

RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/ssl-directory(/.*|)$ [NC]
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Better to use HTTP_HOST instead of SERVER_NAME and %{REQUEST_URI} has a / at the start.

于 2013-09-04T10:23:58.193 回答