我正在尝试让登录页面重定向到 https,并将所有其他页面恢复为标准 http。当我将 /login 作为地址时,它显示为 /index.php?page=login 并且不显示在安全页面上。
有问题的 htaccess 代码如下:
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} ^/login$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,QSA,L]
RewriteCond %{REQUEST_URI} !^/login$
RewriteCond %{SERVER_PORT} 443
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,QSA,L]
RewriteRule ^([a-zA-Z0-9_\-\(\)]+)[/]?$ /index.php?page=$1
最好在应用程序级别执行此操作,即直接将“登录”链接作为 HTTPS 链接发送。
从 HTTP 重定向到 HTTPS 的问题在于客户端首先通过纯 HTTP 发出请求。在仅访问 HTTPS 初始页面的情况下,这不一定是问题,但如果您在透明重定向到 HTTPS 页面的 HTTP 请求中发送凭据,那么它们无论如何都会被泄露。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)