Apache mod_rewrite实现HTTP和HTTPS重定向跳转
程序员文章站
2023-11-03 21:34:28
当你的站点使用了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)。