阻止手机访问子域名m

Hen*_*erk 2 javascript php subdomain wordpress

客户要求我创建一个子域,其中包含针对移动用户优化的另一个网站.我在这个子域上安装了最新的Wordpress(例如m.domain.com).这个子域可供所有人访问.此子域中只有虚拟文本和模板可用.

移动访问者应该访问原始域(例如www.domain.com),直到子域的开发完成.我个人不是很熟练使用Wordpress,但我正在使用像php,mysql,js等网络语言.

现在出现的问题是某些移动浏览器会自动检查域的m子域.然后他们会自动重定向到该子域.我事先并不知道这一点,我正在寻找一个快速的解决方案.我的主机似乎没有提供临时更改子域名称的选项.这意味着我必须删除子域并创建一个新域然后再次安装wordpress,开发网站,导出事物,删除新的子域,再次创建m子域,再次安装wordpress,并导入开发的网站.

可以有一个更简单的解决方案吗?

编辑 因为需要在手机上测试这个网站,所以访问不应该被阻止到手机上.

vas*_*123 7

是的,有一个解决方案,但正如Digital Chris所说,不要在生产环境下开发.在localhost或其他域上执行此操作.

首次调用页面时设置查询参数.

随它去 ?dev=123

所以,在索引php中,选中它,如果已设置,则添加一个会话变量来存储它.然后你检查一下,这个会话变量是否存在.如果是,那么什么都不做,只需开发页面.如果没有,则将每个人重定向到非子域.

session_start();
if (!empty($_GET["dev"]) && $_GET["dev"] == 123) {
    $_SESSION["dev"] = 123;
}

if (empty($_SESSION["dev"]) || $_SESSION["dev"] != 123) {
    header('Location: http://www.domain.com');
    die();
}
Run Code Online (Sandbox Code Playgroud)

当然,您可以设置更安全的参数名称和值.这不是最安全的方式.

另一种方法是,如果您通过检查仅允许您的IP $_SERVER["REMOTE_ADDR"];,如果它不是您的IP ,则将它们重定向回非子网域.