.htaccess https和http相结合。htaccess
我有以下问题 我有一个网站,对于目录/members和/admin,我有一个.htaccess,它强制这些URL转到https:// 所有其他URL都被强制转到正常的https:// 现在,对于https://的/members,我在页面中引用了导入到页面中的/js/script.js,但是当页面以https显示时,当然这个目录/js被强制为普通http://目录:// 如果Internet Explorer用户希望在安全页面中查看非安全内容,则会显示一个弹出窗口,如果他们单击“是”,则可以。如果他们单击“否”,则javascript无法工作 /js用于普通的http://网站和/members安全网站。/images目录也是如此 所以我不知道如何解决这个问题。除了说/js和/images可以是https或http之外。但是我不知道如何在htaccess文件中配置它 任何帮助都将不胜感激 这是我现在使用的htaccess文件:.htaccess https和http相结合。htaccess,.htaccess,http,https,.htaccess,Http,Https,我有以下问题 我有一个网站,对于目录/members和/admin,我有一个.htaccess,它强制这些URL转到https:// 所有其他URL都被强制转到正常的https:// 现在,对于https://的/members,我在页面中引用了导入到页面中的/js/script.js,但是当页面以https显示时,当然这个目录/js被强制为普通http://目录:// 如果Internet Explorer用户希望在安全页面中查看非安全内容,则会显示一个弹出窗口,如果他们单击“是”,则可以。如
#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]
在图像和js目录中创建自己的.htacess文件,其中包含以下内容:-
RewriteEngine off
这将关闭该文件夹中所有文件的写入
在您的html中,不要在链接上指定域,因此请指定
/js/myscript.js而不是http://mydomain.com/js/myscript.js
通过这种方式,它将继承与他们正在查看的页面相同的协议。在图像和js目录中创建自己的.htacess文件,其中包含以下内容:-
RewriteEngine off
这将关闭该文件夹中所有文件的写入
在您的html中,不要在链接上指定域,因此请指定/js/myscript.js而不是http://mydomain.com/js/myscript.js
这样,它只会继承与他们正在查看的页面相同的协议。有很多方法。这里只有一些
第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]
# do not do anything to any files in css/js/images folders
RewriteRule ^(css|js|images)/ - [L]
上述规则将使所有css/js/image文件(站点上的任何位置)的协议保持不变
第2项。在您的规则之前添加此:
# 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]
# do not do anything to any files in css/js/images folders
RewriteRule ^(css|js|images)/ - [L]
上述规则将使css/js/image文件夹(例如example.com/js/main.js
,example.com/images/logo.png
甚至example.com/js/compress.php
如果你想——你可以将它们组合成一条规则(更具体地说)——但这是不必要的(在我看来)。有很多方法。这里只是一些
第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]
# do not do anything to any files in css/js/images folders
RewriteRule ^(css|js|images)/ - [L]
上述规则将使所有css/js/image文件(站点上的任何位置)的协议保持不变
第2项。在您的规则之前添加此:
# 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]
# do not do anything to any files in css/js/images folders
RewriteRule ^(css|js|images)/ - [L]
上述规则将使css/js/image文件夹(例如example.com/js/main.js
,example.com/images/logo.png
甚至example.com/js/compress.php
如果你愿意的话——你可以把它们合并成一条规则(更具体地说)——但这是不必要的(从我的观点来看)。一年前我也面临同样的问题。我终于能够自己得出结论
查看我的问题和答案一年前,我也面临同样的问题。我终于能够自己得出结论
查看我的问题和答案Nice!这解决了我的问题。我甚至在根文件夹中有一个.css(糟糕的设计…argh),所以我添加了文件夹和文件类型的重写规则。我很高兴,谢谢!!@StevenFilipowicz如果你有#1,你实际上不需要这两个,因为它将覆盖你网站上任何地方的此类文件(除非您的css/js/images文件夹中有其他文件扩展名,例如.php)。Uuhhh是的,您是对的!选项[L]是什么意思你有没有一个很好的改写参考教程页?这些重写规则是如此强大,但我不理解它们,并且喜欢创建和理解这些规则。再次感谢!@史蒂文菲利波维兹我不知道任何好的教程——我学会了使用尝试和错误的方法加上一些来自互联网+ Offic的例子。ial文档(对每个指令和标志都有解释):很好!这解决了我的问题。我甚至在根文件夹中有一个.css(糟糕的设计…argh),所以我添加了文件夹和文件类型的重写规则。我很高兴,谢谢!!@StevenFilipowicz如果你有#1,你实际上不需要这两个,因为它将覆盖你网站上任何地方的此类文件(除非您的css/js/images文件夹中有其他文件扩展名,例如.php)。Uuhhh是的,您是对的!选项[L]是什么意思你有没有一个很好的改写参考教程页?这些重写规则是如此强大,但我不理解它们,并且喜欢创建和理解这些规则。再次感谢!@史蒂文菲利波维兹我不知道任何好的教程——我学会了使用尝试和错误的方法加上一些来自互联网+ Offic的例子。ial文档(对每个指令和标志都有解释):谢谢!我检查了你的问题。但是LazyOne提供的解决方案是一个非常简单但有效的解决方案,一次成功。谢谢你的回答。浏览一下,希望你没有在浏览器的底部或顶部看到损坏的ssl图标!!如果ssl页面包含来自非ssl的内容,通常会显示出来,看起来不太好/安全。谢谢!我检查了你的问题。但是LazyOne提供的解决方案是一个非常简单但有效的一次性解决方案。谢谢你的回答。浏览一下,希望你没有在浏览器的底部或顶部看到损坏的ssl图标!!如果ssl页面包含来自非ssl的内容,通常会显示出来,但看起来不安全好/安全。