PHPSTUTY一个网站如何绑定多个域名

  1. AutoCMS
  2. /
  3. 建站资讯
  4. /
  5. 网站
logo
孟罡茜

网站  2026-09-29 08:48:02   399

PHPSTUTY一个网站如何绑定多个域名

在phpStudy里让一个站点响应多个域名,本质就是给同一个网站根目录配置多个server_name或ServerAlias。面板只是把Apache、Nginx的虚拟主机配置包装了一下,理解这一点,后面排错会轻松很多。

打开phpStudy,切到网站页,找到要绑定的站点,点管理里的修改。域名框里可以填多个域名,通常用空格隔开,比如example.com、www.example.com、example.net。保存后,面板会重写vhosts配置。如果是新建站点,创建时直接填多个域名即可。老版本phpStudy在站点域名管理里操作,逻辑一样。

填完后别急着访问。本地测试要改hosts文件,路径是C:\Windows\System32\drivers\etc\hosts,用管理员权限编辑,加入127.0.0.1 example.com和127.0.0.1 example.net。每行一个,不要带端口。改完在命令行执行ipconfig /flushdns。外网测试则把域名A记录解析到服务器公网IP,国内服务器还要确认域名已备案并接入。

如果面板保存后只生效一个域名,检查是否重启了Apache或Nginx。phpStudy有重载或重启按钮,配置改动需要生效。再打开vhosts目录看实际配置。Apache一般在phpStudy\Extensions\Apache2.4.39\conf\vhosts,Nginx在phpStudy\Extensions\Nginx1.15.11\conf\vhosts,版本号可能不同。Apache示例:


   ServerName example.com
   ServerAlias www.example.com example.net
   DocumentRoot "D:/phpstudy_pro/WWW/example"
  
   Options +Indexes +FollowSymLinks +ExecCGI
   AllowOverride All
   Require all granted
  

  

Nginx示例:

server {
   listen 80;
   server_name example.com www.example.com example.net;
   root D:/phpstudy_pro/WWW/example;
   index index.php index.html;
   location ~ \.php$ {
   fastcgi_pass 127.0.0.1:9000;
   fastcgi_index index.php;
   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   include fastcgi_params;
   }
  }

这里关键是ServerAlias和server_name后面把域名写全,不带http://,不带路径。Apache用空格分隔,Nginx也用空格分隔,最后分号别漏。

HTTPS情况要单独说。一个证书如果只签了example.com,那www.example.net走https会报证书错误。要么每个域名单独申请证书,要么申请多域名SAN证书,把要用的域名都加进去。phpStudy面板里可以给站点部署SSL,但证书不匹配时浏览器照样拦。端口不是80时,访问要带端口,比如example.com:8080,hosts里不要写端口。

程序层面也常被忽略。WordPress这类程序会把站点地址写进数据库,绑了多个域名后,可能自动跳到原来那个域名。可以在wp-config.php里动态定义WP_HOME和WP_SITEURL,例如:

define(''WP_HOME'', ''http://''.$_SERVER[''HTTP_HOST'']);
  define(''WP_SITEURL'', ''http://''.$_SERVER[''HTTP_HOST'']);

这样多个域名访问时不会互相跳。其他CMS也有类似站点URL设置,检查数据库或配置文件。

如果多个域名要指向不同目录,不要硬塞在一个站点里。建多个站点,每个站点绑自己的域名和根目录更清晰。一个站点绑多个域名,适合品牌域名、备用域名、带www和不带www同时访问。最后检查防火墙80和443端口、安全组、CDN缓存以及浏览器缓存。用curl -I http://example.net看返回的Server和状态码,比只看浏览器准。这样配置完,一个phpStudy站点就能稳定响应多个域名。