Ryongyon!

这世界上假绅士太多,缺少训练有素的流氓

· 实践教程 · · 2361次浏览

PHP 实现自动跳转的三种方法

前言

前两天百度了一下Ryongyon关键字,想看看百度的收录情况,然后突然发现百度只收录“ryongyon.com”,首页,文章都不带www,这让我的强迫症可犯了。而且,Typecho下后台只能设置一个域名,比如我设置了个https://www.ryongyon.com,这个域名就会被Typecho认知的域名,但是,如果你这样访问https://ryongyon.com会导致代不带www的域名访问无法加载字体文件。所以新版本Surge主题已把字体文件放到CDN上,已经修复这个问题。但是我还是对带不带www有强迫症,如果你也一样,可以按照下面的方法实现,

如果不带www则跳转到www的域名

<?php
    if ($_SERVER['HTTP_HOST'] <> "www.ryongyon.com")
  {
    $xredir = "https://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
    header("Location: ".$xredir);
  }
?>

没什么好解释的,修改第二行的www.ryongyon.com改为你自己的域名(带www),然后第四行的https://,如果你开启了HTTPS则不用修改,如果你没有HTTPS则修改为http://。然后添加到header.php 文件的顶部即可

HTTP 自动跳转 HTTPS

这是一篇“课外阅读”,有的博主刚刚给网站安装上了 SSL 证书,并且可以成功使用 HTTPS 进行访问。可一会儿就遇到了非常严重的问题,那就是在访问 HTTP 时并不会自动跳转至 HTTPS。于是百度,Google 了好久,都没能够找到适用于虚拟主机实现自动跳转的方法(如果是 VPS 的话就很简单,百度就有很多方法可以实现),而有一个方法可以通过在网站头部加入 PHP 代码实现自动跳转,如果你需要,就试试下面的方法吧。直接添加到header.php 文件的顶部即可

<?php
    if ($_SERVER["HTTPS"] <> "on")
  {
    $xredir = "https://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
    header("Location: ".$xredir);
  }
?>

解决Typecho第X页跳回第一页Url不是主域名问题

这还是一篇“课外阅读”,并且适合强迫症群体使用,比如我。这个问题其实并不会有任何的影响,只是强迫症而已,举个例子把,我们从博客主页面翻到第二页的时候,域名会变成https://www.ryongyon.com/page/2/,这时候如果再点击"上一页",域名会变成https://www.ryongyon.com/page/1/而不是https://www.ryongyon.com/,So...这真的只是强迫症!使用方法同上面,直接添加到header.php 文件的顶部即可

<?php
    if ($_SERVER['REQUEST_URI'] === "/page/1/")
  {
    $xredir = "https://".$_SERVER["HTTP_HOST"];
    header("Location: ".$xredir);
  }
?>
评论 (6条)
  1. 不错的呢,回头测试下。。

    回复
  2. 我是虚机,用的是用伪静态方法

    回复
  3. zhcorn

    不用301跳转么?一般都在nginx或者apache就判断,默认301跳转www的域名

    回复
  4. 然而我博客只有一页·······

    回复
  5. 😚你好,请问表情是如何实现的呢?

    回复
  6. 🇨🇳重庆人民发来贺电

    回复