htaccess重写规则调整

安德鲁

我有一个安装了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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章