linux - PHP 如何实现绑定其他域名访问?
阿神
阿神 2017-04-11 09:10:59
[PHP讨论组]

就像是 这个网站的功能一样

https://help.jinshuju.net/art...

通过用户自行解析并添加,就可以直接访问到相关域名.
不知道如何通过程序方面去实现,或者 nginx 如何配置规则?

无法实现每添加一个域名就添加一个 nginx 配置文件.


我的意思是如何实现多域名访问一个程序,并且浏览器地址还是当前绑定的域名的地址,不是访问程序后如何判断是什么域名的问题。

比如 abc.com 是一个网站程序,里面有一个页面 abc.com/page.html 我想通过绑定域名的方式 绑定 bcd.com 用户看到的效果是 bcd.com/page.html 同时 abc.com/page.html 也可以访问到.

阿神
阿神

闭关修行中......

全部回复(5)
阿神

不考虑nginx,或者通过nginx绑定了很多域名到系统,系统根据不同域名显示不同内容。这个原理很简单,域名就是一个参数。比如,http://xx.com?id=1这里可以根据ID的值来获取到不同内容,这个应该都知道,那么我们吧这个参数换成域名不就行了。

$url=$_SERVER['HTTP_HOST'];

这个$url就是参数,根据这个参数来判断获取指定内容

server {
     listen       80;
     server_name  domain.com  www.domain.com;
     ...
}

这个可以实现多域名解析到一个程序,而且都可以访问。如果要显示不同内容就看开始写的那个

PHP中文网
server {
     listen       80;
     server_name  domain.com  www.domain.com;
     ...
}
PHPz

搜索泛解析。

PHP中文网

这个有两种方式,都是在nginx上做

第一种是使用default_server

server {
    listen       80 default_server;
    ...
    

第二种方式是使用通配符

server {
    ...
    server_name  aicode.cc *.aicode.cc;

区别在于第一种方式下,所有为经过单独配置的域名访问都会由该server块来处理,而第二种方式则匹配*.aicode.cc规则的才会被其处理。

怪我咯

看了回答都是php和nginx的,我来说下前端的

window.location.host; //返回url 的主机部分,例如:www.xxx.com  
window.location.hostname; //返回www.xxx.com  
window.location.href; //返回整个url字符串(在浏览器中就是完整的地址栏),例如:www.xxx.com/index.php?class_id=3&id=2  
window.location.pathname; //返回/a/index.php或者/index.php  
window.location.protocol; //返回url 的协议部分,例如: http:,ftp:,maito:等等。  
window.location.port //url 的端口部分,如果采用默认的80端口,那么返回值并不是默认的80而是空字符  

如果不满足,在用正则去匹配地址,最后再跳转新的页面

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号