欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Apache mod_rewrite实现HTTP和HTTPS重定向跳转

程序员文章站 2022-06-08 22:08:45
当你的站点使用了https之后,你可能会想把所有的http请求(即端口80的请求),全部都重定向至https(即端口443)。这时候你可以用以下的方式来做到:(apache...

当你的站点使用了https之后,你可能会想把所有的http请求(即端口80的请求),全部都重定向至https(即端口443)。这时候你可以用以下的方式来做到:(apache mod_rewrite)

<ifmodule mod_rewrite.c>
 rewriteengine on
 rewritebase /
 rewritecond %{server_port} 80
 rewriterule ^(.*)$ https://jb51.net/$1 [r=301,l]
</ifmodule>

把这段代码放在.htaccess文件,即可实现http到https的重定向。

而当你又想用回http的时候,反过来就可以了:

<ifmodule mod_rewrite.c>
 rewriteengine on
 rewritebase /
 rewritecond %{server_port} 443
 rewriterule ^(.*)$ http://jb51.net/$1 [r=301,l]
</ifmodule>

其中r=301表示moved permanently,即告诉搜索引擎或者浏览器下去直接访问后者的地址,如果只是试验性地重定向,可以使用r=302(found)。