当我在一个网站的安全部分,我正在开发(使用https输入特定的页面或文件夹)时,与正常页面的相关链接也会自动转换为https。
有没有办法告诉< a>标签总是使用http协议而不是https协议(或者其他方式)?
我知道使用完整的链接(http://www.mysite.com/index.html或https://www.mysite.com/index.html)很容易,但我希望它可以使用相关链接(index.html,../index.html等)。
解决方法
我们使用Apache mod_rewrite控制是否通过http或https提供了一个页面。以下是站点根目录.htaccess文件的示例代码段:
# Redirect most reqests for https to http RewriteRule ^https://www.example.com(.*) http://www.example.com$1 [R=301,NC] # Allow some URIs to be https if requested RewriteCond %{SERVER_PORT} ^443$ RewriteCond %{REQUEST_URI} !^/images/(.*)$ RewriteCond %{REQUEST_URI} !^/scripts/(.*)$ RewriteCond %{REQUEST_URI} !^/styles/(.*)$ RewriteCond %{REQUEST_URI} !^/store(.*)$ RewriteCond %{REQUEST_URI} !^/login.htm$ RewriteRule ^(.*) http://www.example.com/$1 [L,R] # Force some URIs to be https only RewriteCond %{SERVER_PORT} ^80$ RewriteRule ^store(.*) https://www.example.com/store$1 [L,R] RewriteCond %{SERVER_PORT} ^80$ RewriteRule ^FormSanityKey.htm https://www.example.com/login$1 [L,R]
阅读全文: