GVKun编程网logo

https和其他站点的图像.如何在不修改.htaccess文件的情况下使用php或javascript删除http图片警告?

26

最近很多小伙伴都在问https和其他站点的图像.如何在不修改.htaccess文件的情况下使用php或javascript删除http图片警告?这两个问题,那么本篇文章就来给大家详细解答一下,同时本文

最近很多小伙伴都在问https和其他站点的图像.如何在不修改.htaccess文件的情况下使用php或javascript删除http图片警告?这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展.htaccess 强制 http 到 https 复杂结构、Apache重定向.htaccess无域名通用配置:HTTP跳转HTTPS、HTTPS跳转HTTP、跳转WWW,不跳WWW、htaccessurl重写http www和非www到https www + https非www到https www、htaccess将http://和http:// wwwredirect到https://可以很好地与子域配合使用等相关知识,下面开始了哦!

本文目录一览:

https和其他站点的图像.如何在不修改.htaccess文件的情况下使用php或javascript删除http图片警告?

https和其他站点的图像.如何在不修改.htaccess文件的情况下使用php或javascript删除http图片警告?

我的网站上有一个SSL证书.一旦从另一个站点将图像加载到页面上,它就会引起警告,例如“页面包含安全和非安全项目”,因此您必须按OK或在浏览器中看到“断开的” ssl连接.摆脱警告的一种方法是使用http页面而不是https,对吗?

但是,据我所知,还有另一种使用PHP或仅使用javascript排除警告的方法.我相信这些图像会加载到我服务器上的临时文件夹中,并同时作为https图像加载.
有人可以告诉我最好的方法吗?
浏览论坛并没有太大帮助.
谢谢.

所以,
如何加载

<?PHP echo '<img src="http://www.not_my_site.com/image.jpg" alt="">'; ?>

在我的页面https://my_site.com/index.PHP上没有警告?

解决方法:

您无法掩盖错误,因为它是浏览器.

唯一的方法是在您的网站上使用https调用包装这些调用.就像是:

<?PHP echo '<a href="https://my_site.com/external.PHP?resource=http://www.not_my_site.com/image.jpg" alt="">'; ?>

您将必须编写external.PHP脚本来代表客户端发出请求,然后通过现有的SSL连接返回内容.您只需要对仅用于外部HTTP的资源执行此操作.

该过程如下:

>最终用户的Web浏览器向您的external.PHP脚本发出HTTPS请求.
>检查资源的已保存副本.如果已缓存,则跳到步骤6,返回缓存的资源.
>您的服务器将呼叫转发到指定为该资源的HTTP资源.
>远程服务器响应该请求.
>保存资源副本以进行缓存.
>然后,您的Web服务器external.PHP脚本通过SSL连接返回该响应.

Web浏览器仅发出1个请求,您的Web服务器只需再发出一个请求.

这是摆脱消息的唯一方法.

检索图像看起来更加简单:use curl to download indirect image file

.htaccess 强制 http 到 https 复杂结构

.htaccess 强制 http 到 https 复杂结构

如何解决.htaccess 强制 http 到 https 复杂结构?

结构复杂需要将变量文件夹下的变量文件重定向到https

第一个

example.com/business/variable-folders/variable-file

例如

example.com/business/business-manager/2344642
example.com/business/company-lawyer/146785
example.com/business/cleaning/5876441235

第二个

example.com/variable-folders/variable-file

例如

example.com/business-manager/local-state
example.com/motel/western-state

到目前为止,我一直在使用下面的配置,但它没有考虑到所需的结构:

RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_URI} !(/$)
RewriteCond %{SERVER_PORT} 80
RewriteRule (.*) example.com/$1 [R=301,L]

RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ example.com/$1 [R,L]

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} folder
RewriteRule ^(.*)$ example.com/business^([^/]+)/$1 [R,L] 

解决方法

在.htaccess文件中添加以下代码

1-root 文件夹

2-example/business/ 文件夹

3- 每个子文件夹的 example.com/variable-folders/variable-file 的每个文件夹

重写引擎开启 RewriteCond %{HTTPS} !on RewriteCond %{REQUEST_URI} !^/[0-9]+..+.cpaneldcv$ RewriteCond %{REQUEST_URI} !^/.well-known/pki-validation/[A-F0-9]{32}.txt(?:\ Comodo\ DCV)?$ 重写规则 (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Apache重定向.htaccess无域名通用配置:HTTP跳转HTTPS、HTTPS跳转HTTP、跳转WWW,不跳WWW

Apache重定向.htaccess无域名通用配置:HTTP跳转HTTPS、HTTPS跳转HTTP、跳转WWW,不跳WWW

HTTP跳转HTTPS:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

HTTPS跳转HTTP:

RewriteEngine On
RewriteCond %{HTTPS} =on
RewriteRule ^/?(.*) http://%{SERVER_NAME}/$1 [R,L]

跳转WWW:

RewriteEngine On

# 设置%{ENV:PROTO}变量,以允许重写自动使用适当的模式重定向(http或者https) 
RewriteCond %{HTTPS} =on
RewriteRule ^ - [E=PROTO:https]
RewriteCond %{HTTPS} !=on
RewriteRule ^ - [E=PROTO:http]

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ %{ENV:PROTO}://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

不跳WWW:

RewriteEngine On

# 设置%{ENV:PROTO}变量,以允许重写自动使用适当的模式重定向(http或者https) 
RewriteCond %{HTTPS} =on
RewriteRule ^ - [E=PROTO:https]
RewriteCond %{HTTPS} !=on
RewriteRule ^ - [E=PROTO:http]

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ %{ENV:PROTO}://%1%{REQUEST_URI} [R=301,L]

常用例子:

HTTP跳转HTTPS,且跳转WWW

RewriteEngine On

# HTTP跳转HTTPS
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

# 跳转WWW
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

HTTP跳转HTTPS,不跳WWW

RewriteEngine On

# HTTP跳转HTTPS
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

# 不跳WWW
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]

综合写法

RewriteEngine On

# 设置%{ENV:PROTO}变量,以允许重写自动使用适当的模式重定向(http或者https)
RewriteCond %{HTTPS} =on
RewriteRule ^ - [E=PROTO:https]
RewriteCond %{HTTPS} !=on
RewriteRule ^ - [E=PROTO:https]

# HTTP跳转HTTPS
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) %{ENV:PROTO}://%{SERVER_NAME}/$1 [R,L]

# 跳转WWW 且排除本机地址
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{SERVER_ADDR} !=127.0.0.1
RewriteCond %{SERVER_ADDR} !=::1
RewriteRule ^ %{ENV:PROTO}://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

指定域名写法,HTTP 跳转 HTTPS,跳转WWW

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^baidu.com [NC]
RewriteRule ^(.*)$ https://www.baidu.com/$1 [L,R=301]

 指定域名写法,HTTP 跳转 HTTPS,不跳WWW

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www.baidu.com [NC]
RewriteRule ^(.*)$ https://baidu.com/$1 [L,R=301]
 

htaccessurl重写http www和非www到https www + https非www到https www

htaccessurl重写http www和非www到https www + https非www到https www

我正在寻找一组重写规则,将执行以下操作:

http www和http非www到https www

https非www到https www

你也可以说我希望所有的url不等于https://www.somedomain.com ,重写为https://www.somedomain.com 。

我已经看到了很多答案,但是我找不到一组符合上述条件的重写规则,并且难以将其中一些规则组合到一套可以完成上述规则的规则中。

提前致谢!

多个RewriteRule到一个RewriteCond

在Apache上没有尾随斜杠的虚浮URL

.htaccess:不在www base dir中的位置

在.htaccess中的数字库转换

Prerender.io子页面redirect到索引

我如何使用.htaccess来隐藏.PHPurl的扩展名?

如何在不发送404头的情况下redirect未find的URL?

.htaccess不能只与Internet Explorer一起工作

2域名1主机 – >域名url重写

htaccess为URL添加.html扩展名,带或不带尾部斜线

你可以在你的DOCUMENT_ROOT/.htaccess文件中使用这个规则:

RewriteEngine On RewriteCond %{HTTP_HOST} ^(?:www.)?somedomain1.com$ RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} !^www. RewriteRule ^ https://www.somedomain1.com%{REQUEST_URI} [NE,R=301,L] RewriteCond %{HTTP_HOST} ^(?:www.)?somedomain2.com$ RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} !^www. RewriteRule ^ https://www.somedomain2.com%{REQUEST_URI} [NE,L]

总结

以上是小编为你收集整理的htaccessurl重写http www和非www到https www + https非www到https www全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

htaccess将http://和http:// wwwredirect到https://可以很好地与子域配合使用

htaccess将http://和http:// wwwredirect到https://可以很好地与子域配合使用

我正在尝试redirect以下条件:

http://mydomain.com http://www.mydomain.com

至:

https://mydomain.com

但是我不希望它搞乱任何与子域名有关的事情,所以有人input:

http://m.mydomain.com

Apache目录closures – 站点中断

Apache友好的url

将Content-disposition标题仅设置到某个目录下的文件的附件中?

htaccess文件拒绝所有,redirect到404没有find403.shtml,但没有定义的自定义错误页面

使用htaccess以https支持添加www

不会被redirect到https。 我目前的htaccess文件如下所示:

# BEGIN wordpress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index.PHP$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.PHP [L] </IfModule> # END wordpress

我试过使用一些我在这里发现的堆栈溢出的例子,比如这个:

RewriteCond %{HTTP_HOST} !^mydomain.com$ [NC,OR] RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://mydomain.com/$1 [R=301,L]

但是,虽然它似乎已经为那个人工作,它导致了我的“redirect循环”。 另外,我得到这个工作后,我需要添加一些redirect来处理子域,以不可见的方式(不改变URL)redirecthttp://m.mydomain.com到http://mydomain.com/m例如。 所以这里所做的一切都不应该阻止这种事情的发生。

如果有帮助,该网站托pipe在Rackspace云网站上

有人知道如何做到这一点?

谢谢!

编辑

我试过这个:

#http to https RewriteCond %{HTTP_HOST} ^www.mydomain.com [NC] RewriteRule ^(.*)$ https://mydomain.com/$1 [L,R=301] #subdomain 1 RewriteBase / RewriteCond %{HTTP_HOST} ^sub1.mydomain.com [NC] RewriteRule ^(.*)$ http://mydomain.com/sub1/$1 [R=301,L]

它似乎工作的大部分,除了当我input一个子文件夹它似乎不工作。 例如,如果我在地址栏中input:

mydomain.com/temp

它解决了:

http://mydomain.com/temp/

编辑2

那么我已经取得了一些进展。 到目前为止,我有wwwredirect到非www和子域名工作(虽然地址栏确实改变 – 我想这是可以接受的)。 什么似乎搞乱了,如果我把任何forms的强迫https在那里。 它似乎与www到非www块相冲突。 我可以有一个或另一个。 有没有办法让这两个部分一起工作?

此外,wordpress的网站地址和wordpress地址都设置为https://mydomain.com

# BEGIN wordpress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index.PHP$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.PHP [L] </IfModule> # END wordpress # Redirect from www to non-www location RewriteCond %{HTTP_HOST} ^www.mydomain.com [NC] RewriteRule ^(.*)$ https://mydomain.com/$1 [R=301,L] # Redirect http to https # THIS DOES NOT WORK - causes redirect loop #RewriteCond %{HTTPS} off #RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} # subdomain RewriteBase / RewriteCond %{HTTP_HOST} ^sub1.mydomain.com [NC] RewriteRule ^(.*)$ http://mydomain.com/sub1/$1 [R=301,L] RewriteBase / RewriteCond %{HTTP_HOST} ^sub2.mydomain.com [NC] RewriteRule ^(.*)$ http://mydomain.com/sub2/$1 [R=301,L]

结论

对于大多数networking主机,anubhava的解决scheme将工作得很好。 然而,我相信这里的关键是Rackspace。 他们有自己喜欢的方法,我通过search他们的知识库find。 这是最好的htaccess文件。 所有wwwurl都被发送到非wwwurl,http被发送到https,子网域redirect到他们正确的子目录,而不会搞乱wordpress:

RewriteEngine On RewriteBase / #subdomain 1 RewriteCond %{HTTP_HOST} ^sub1.mydomain.com [NC] RewriteRule ^(.*)$ http://mydomain.com/sub1/$1 [R=301,L] #subdomain 2 RewriteCond %{HTTP_HOST} ^sub2.mydomain.com [NC] RewriteRule ^(.*)$ http://mydomain.com/sub2/$1 [R=301,L] #get rid of www,works with rackspace cloud sites RewriteCond %{HTTP_HOST} ^www.mydomain.com [NC] RewriteRule ^(.*)$ https://mydomain.com/$1 [R=301,L] #force https,works with rackspace cloud sites RewriteCond %{ENV:HTTPS} !on [NC] RewriteRule ^(.*)$ https://mydomain.com/$1 [R,L] # BEGIN wordpress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index.PHP$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.PHP [L] </IfModule> # END wordpress

非常感谢您的帮助。

哪个会是按国家redirect用户的最佳可扩展方式?

除了less数例外,将所有文件作为参数处理

如何在使用Apache重写时隐藏URL更改?

.htaccessredirect仅适用于部分url

Apache Rewrite:基于HTTP主机的映像目录

你可以有这样的.htaccess:

RewriteEngine On RewriteBase / #subdomain 1 RewriteCond %{HTTP_HOST} ^sub1.mydomain.com [NC] RewriteRule ^(.*)$ http://mydomain.com/sub1/$1 [R=301,L] # BEGIN wordpress <Ifmodulee mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index.PHP$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.PHP [L] </Ifmodulee> # END wordpress

PS:请注意,HTTPS服务器变量在Rackspac云环境中未正确实施。 在Rackspace Cloud中查看HTTPS的正确变量是ENV:HTTPS 。

总结

以上是小编为你收集整理的htaccess将http://和http:// wwwredirect到https://可以很好地与子域配合使用全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

关于https和其他站点的图像.如何在不修改.htaccess文件的情况下使用php或javascript删除http图片警告?的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于.htaccess 强制 http 到 https 复杂结构、Apache重定向.htaccess无域名通用配置:HTTP跳转HTTPS、HTTPS跳转HTTP、跳转WWW,不跳WWW、htaccessurl重写http www和非www到https www + https非www到https www、htaccess将http://和http:// wwwredirect到https://可以很好地与子域配合使用的相关知识,请在本站寻找。

本文标签: