.htaccess - https 和 http 组合 .htaccess

标签 .htaccess http https

我有以下问题。

我有一个网站,对于目录/members 和/admin,我有一个 .htaccess,它强制这些 URL 转到 https:// 所有其他 URL 都强制转到正常的 https://

现在,对于 https://的/members,我在页面中引用了导入到页面中的/js/script.js,但是当然这个目录/js 被强制为正常的 http://而页面显示在https://

如果 Internet Explorer 用户想要在安全页面中查看非安全内容,则会显示一个弹出窗口,如果他们单击"is",就可以了。如果他们点击否,则 javascript 不起作用。

/js 用于普通 http://网站和/members 安全网站。/images 目录也是如此

所以我不确定如何解决这个问题。除了说/js 和/images 可以是 https 或 http。但是我不知道如何在 htaccess 文件中配置它。

如有任何帮助,我们将不胜感激!

这是我现在使用的 htaccess 文件:

  #Turn SSL on everything, except members and admin
  RewriteCond %{HTTPS} =off
  RewriteCond %{REQUEST_URI}  ^(/members|/admin)
  RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

  # Turn SSL off everything, except members and admin
  RewriteCond %{HTTPS} =on
  RewriteCond %{REQUEST_URI} !^(/members|/admin)
  RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

最佳答案

有很多方法。这里只是其中的一部分。

第 1 条。在您的规则之前添加:

# do not do anything for js/css/image files
# (will affect ALL such files in ALL folders)
RewriteRule \.(css|js|jpe?g|gif|png|ico)$ - [L]

上面的规则将保留所有 css/js/image 文件(站点上的任何位置)的协议(protocol)

第 2 条在您的规则之前添加:

# do not do anything to any files in css/js/images folders
RewriteRule ^(css|js|images)/ - [L]

上述规则将保留 css/js/image 文件夹中所有文件的协议(protocol)(例如 example.com/js/main.jsexample.com/images/logo .png 甚至 example.com/js/compress.php

如果你愿意——你可以将它们组合成一个规则(更具体地说)——但这是不必要的(从我的角度来看)。

关于.htaccess - https 和 http 组合 .htaccess,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10174278/

相关文章:

http - 如何抓取任何桌面应用程序发送的 http 请求?

javascript - 我如何 gzip 我的 JavaScript 和 CSS 文件?

wordpress - 合并 2 个 .htaccess 文件

java - Json 到 HashMap

php - 保护服务器上的一个特定文件; .htaccess 有什么好办法吗?

ssl - 使用 https 的 GET 请求不如 Post 请求安全

security - 如何设置最小的 TLS : Configure client and server, 或实现我自己的?

python - 在 Python 中建立 HTTPS 连接时出现 HTTP 400 错误请求?

php - 将 http 流量重定向到 https 并避免混合内容警告

apache - .htaccess-SetEnvIf 到 NGinx-fastcgi_param 转换