Apache htaccess阻塞css和jscript

Apache htaccess阻塞css和jscript,apache,.htaccess,apache2,Apache,.htaccess,Apache2,嗨,我的htaccess正在工作,但当我转到https时,它会阻止我的脚本和css。 下面是一个错误示例 [blocked] The page at https://bctech.com/checkout.php?session=41fb31bc29722f2e520877d612e0ea4b ran insecure content from http://bctech.com/scripts/superfish.js. 因为我是新来的,所以我真的不知所措 下面是我正在使用的css url的

嗨,我的htaccess正在工作,但当我转到https时,它会阻止我的脚本和css。 下面是一个错误示例

[blocked] The page at https://bctech.com/checkout.php?session=41fb31bc29722f2e520877d612e0ea4b ran insecure content from http://bctech.com/scripts/superfish.js.
因为我是新来的,所以我真的不知所措

下面是我正在使用的css url的一个示例

<script type="text/javascript" src="/scripts/jquery-1.10.2.js">

最后,这里是我在htaccess文件中的尝试,正如我所说,它可以工作,但会阻止我所有的css和jscript文件,我哪里出错了,我必须接近了

.htacces代码

<ifModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{HTTPS} off
RewriteRule ^(checkout\.php|final\.php|admin/(.*))$ https://{HTTP_HOST}/$1[R=301,L]

RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !/(checkout\.php|final\.php|admin/(.*))$
RewriteCond %{REQUEST_URI} !\.(css|js)$ [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# For Sales:

RewriteRule ^shop/sales/?$ sales.php
# For the primary categories:

RewriteRule ^shop/([A-Z-Aa-z\+]+)/?$ shop.php?type=$1
# For specific products:

RewriteRule ^browse/([A-Za-z\+]+)/([A-Za-z\+\-]+)/([0-9]+)$ browse.php?type=$1&category=$2&id=$3
#For https pages:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L,QSA]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index\.php [NC]
RewriteRule ^ /%1 [R=301,L]
</ifModule>

重新启动发动机
重写条件%{HTTPS}关闭
重写规则^(checkout\.php | final\.php | admin/(.*)$https://{HTTP_HOST}/$1[R=301,L]
在上重写cond%{HTTPS}
重写cond%{REQUEST_URI}/(签出\.php | final\.php | admin/(.*))$
重写条件%{REQUEST\u URI}!\。(css|js)$[NC]
重写规则^(.*)$http://%{http_HOST}%{REQUEST_URI}[R=301,L]
#销售:
重写规则^shop/sales/?$sales.php
#对于主要类别:
重写规则^shop/([A-Z-Aa-Z\+]+)/?$shop.php?类型=$1
#对于特定产品:
重写规则^browse/([A-Za-z\+]+)/([A-Za-z\+\-]+)/([0-9]+)$browse.php?类型=$1,类别=$2,id=$3
#对于https页面:
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$index.php?$1[L,QSA]
RewriteCond%{THE_REQUEST}^[A-Z]{3,}\s(.*)/index\.php[NC]
重写规则^/%1[R=301,L]
此规则如下:

RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !/(checkout\.php|final\.php|admin/(.*))$
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
正在将HTTPS请求重定向到HTTP,chrome可能对此表示不满,因为安全页面(HTTPS)正在加载不安全的脚本(HTTP)。您的脚本是通过URI加载的,因此协议是HTTPS,该规则将其重定向到HTTP。尝试将css和js的异常添加到该规则中:

RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !/(checkout\.php|final\.php|admin/(.*))$
RewriteCond %{REQUEST_URI} !\.(css|js)$ [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

嗨,Jon,这工作得好多了,但是它现在暴露了URL末端的$\u GET vars,这比以前的规则(如商店/销售等)要好得多。但是如果我点击一个链接,它会恢复正常吗?如果我能停止的话,我会笑的。。但我有线索,甚至从哪里开始,因为我的理解仍然是非常重要的。唯一没有做到这一点的是索引。php@Brett将2条重定向规则(方括号中带
R=301
的规则)移到所有其他规则之前。这是否包括索引的最底部规则?我如何向您展示我所做的更改?。。谢谢乔恩,我真的很感谢你的帮助和时间。我将编辑我的问题,让你看看我做了什么。那更正确吗?重定向规则也是如此,它们总是在另一个之前吗rules@Brett如果需要,可以从底部移动重定向。那只和非常具体的东西匹配。您需要移动它们的原因是有两条规则与URI匹配,因此这两条规则都得到应用。问题是应用的第二条规则是重定向,您希望在URI损坏之前首先重定向。