我有一个安装了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
显然我做错了,所以任何帮助将不胜感激。
谢谢
用以下代码替换您的代码:
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/ssl-directory(/.*|)$ [NC]
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
最好使用HTTP_HOST
代替,SERVER_NAME
并且在开始时%{REQUEST_URI}
有一个/
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句