> 主要 > 根据不同域名显示不同内容的实现方法

根据不同域名显示不同内容的实现方法

根据不同域名显示不同内容的实现方法

最近在做之前的网站维护时,遇到一个问题:某个项目审核的时候,需要检查所有注册的域名,所有注册的网站都必须能打开,对应不同的网站注册号也要挂在网站底部。 .这些注册号不同的网站域名实际上绑定在一个阿里云虚拟空间中,但是阿里云的虚拟主机不能绑定到子目录。为了省钱,我不能为每个域名购买一个虚拟空间。主持人。根据不同域名显示不同内容的实现方法

解决这个问题的核心逻辑其实就是先判断当前访问的是什么域名,然后再添加一个判断,输出并显示不同域名对应的内容,可以通过两种方法实现:php和JS。

一、PHP实现不同的域名显示不同的内容

  1. <?
  2. //创建域名和对应的数组
  3. $domain_route = 数组(
  4. 'www.300ntk.com' => 'a.php',
  5. 'www.300ntk1.com' => 'b.php',
  6. );
  7. //获取当前域名,如果无效,使用$_SERVER['HTTP_HOST']获取当前域名
  8. $domain = $_SERVER< span class="pun">['SERVER_NAME'];
  9. //解析数组
  10. $target_url = $domain_route< span class="pun">[$domain];
  11. //输出
  12. header("location:{$target_url}" );
  13. ?>

通过将上面的代码创建为index.php作为默认主页,可以根据不同的域名显示不同的内容,但是稍微麻烦一点,就是需要创建额外的页面进行显示,比如a.php和上面的b.php。两个文件。以上代码适用于更复杂的需求,需要为不同的网站展示完全不同的内容,比如用一个虚拟主机搭建多个网站。

至于我只想显示不同的申请编号,这有点复杂。毕竟,我只需要在底部有不同的备案号,所以我稍微改了一下:

1、上面数组中的值本来就是要调用的文件,所以我直接把对应记录号的内容改了; 2.在需要显示记录号的地方使用

  1. echo $target_url

直接输出显示。

这样就不需要添加额外的文件,简单、方便、快捷。

二、利用JS实现不同域名显示不同内容

除了上面的PHP方法,还可以用JS来实现。逻辑是一样的,先判断当前访问的域名,然后根据不同的域名输出不同的内容。

JS代码如下:

  1.  <p>©2020 All rights reserved <a href="https://beian.miit.gov.cn" id="beian">备案号</a></p>
    <script>
    var domain = window.location.host;
    if (domain == "www.300ntk.com" || domain == "300ntk.com") {
    document.getElementById("beian").innerHTML = "备案号1";
    }
    else if (domain == "www.300ntk2.com" || domain == "300ntk2.com") {
    document.getElementById("beian").innerHTML = "备案号2";
    }
    </script>

上面代码中有两点需要注意:

1.第一行其实可以删除。只需要在需要显示记录号的a标签中加上"id="beian"即可,ID号的值也可以改,记得在JS代码里改成一样的。

2、如果有其他注册号,直接加else if即可,但如果每个注册号有其他域名,就在域名后定期加。

摘要

两种实现方式都比较简单,原理基本相同,只是操作和效果上会有一点点区别。

1.如果用PHP实现,如果使用CMS等框架系统,需要在系统开发的基础上添加代码,可能会稍微复杂一些。但是PHP的实现也比较完善。在前台访问的时候可以直接通过HTML代码显示出来,这种方式几乎是找不到的。

2. JS实现在操作上稍微简单一些。无论是手写页面还是系统框架,都是一段JS代码,前端代写的代码不必移到后端。但是JS实现的缺点是只能绕过肉眼,如果用爬虫爬取页面的代码,还是一样。

根据不同域名显示不同内容的实现方法:等您坐沙发呢!

发表评论

表情
还能输入210个字