WAMP配置域名的核心答案是:修改Apache的httpd-vhosts.conf文件开启虚拟主机功能,同步修改系统hosts文件做域名解析,重启WAMP服务即可生效,新手只要按下面六个步骤操作,十分钟内就能完成本地域名绑定。
wamp配置域名详细步骤:从零开始的完整实操
很多新手第一次接触WAMP时,都会被“配置域名”这件事吓住,以为要懂多高深的网络知识,其实WAMP配置域名的原理特别简单:你告诉Windows“这个域名对应哪台电脑”,再告诉Apache“这个域名对应哪个文件夹”,配置完成后,在浏览器输入自定义域名,就能直接访问你本地的网站项目。
第一步:确认你的WAMP版本和安装路径
开始配置之前,先确认两件基础事项,第一,你安装的是WAMP Server 3.x还是2.x版本,这两个版本在界面布局上有差异,但配置文件位置几乎一样,第二,记住你的安装路径,多数情况下是D:wamp64或C:wamp64。
建议你直接右键点击电脑桌面右下角的WAMP绿色图标,选择“,确认版本号,不同版本在后续的操作菜单命名上有细微差别,比如WAMP 3.x版本菜单是英文,而有些汉化版是中文,这一步是为了让你在后续操作中找菜单时不慌张。
第二步:打开Apache的虚拟主机配置文件
wamp配置虚拟主机是整个过程的核心,所有域名与目录的映射关系都在这个文件里写。
用记事本或你常用的代码编辑器,打开Apache的配置文件httpd-vhosts.conf,这个文件一般在WAMP安装目录下的apacheconfextra文件夹里,以WAMP 3.x默认安装路径为例,完整路径是:
D:wamp64binapacheapache2.4.xconfextrahttpd-vhosts.conf
注意,apache2.4.x这里的x是版本号,例如apache2.4.54,找到对应文件夹就行,打开文件后,你会在末尾看到几个示例代码块,那些是用注释掉的<VirtualHost>标签,不用管它们。
还需要打开Apache的主配置文件httpd.conf,路径在D:wamp64binapacheapache2.4.xconfhttpd.conf,打开后用快捷键Ctrl+F搜索“httpd-vhosts”,找到一行前面带着号的加载指令:
#Include conf/extra/httpd-vhosts.conf
把这行前面的号删掉,变成:
Include conf/extra/httpd-vhosts.conf
这步操作在业内叫“启用虚拟主机模块”,不开启这行,你后面写的所有域名配置都不会生效。
第三步:编辑httpd-vhosts.conf,配置你的第一个域名
现在回到httpd-vhosts.conf文件,在文件末尾空白处粘贴以下代码,这里以配置一个名为myproject.test的本地开发域名、网站文件放在D:wwwmyproject目录为例:
<VirtualHost :80>
ServerAdmin webmaster
@myproject.test
DocumentRoot "D:/www/myproject"
ServerName myproject.test
ServerAlias www.myproject.test
<Directory "D:/www/myproject">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
逐行解释这段代码的含义:
ServerName myproject.test:这是你的自定义域名,浏览器地址栏输入的就是它。DocumentRoot "D:/www/myproject":这个域名指向的本地文件夹路径,注意,Windows路径里的反斜杠在这里要写成正斜杠,这是新手最容易犯的错误。ServerAlias www.myproject.test:绑定www子域名,这样你输www.myproject.test也能访问。<Directory>标签内的Require all granted:允许所有来源的访问请求,不写这行会直接报403错误。
关于域名后缀,你不需要非得用.com或.cn,本地开发环境常用.test、.dev、.local这类后缀,但.dev在某些强制HTTPS的浏览器里会有兼容问题,建议新手优先选.test或.local。
如果你有第二个项目要配置,复制上面的代码块,换一个新的ServerName和DocumentRoot路径,继续粘贴在文件末尾即可,虚拟主机可以配置任意多个,互不干扰。
第四步:修改系统hosts文件,让域名指向本机
这一步是很多新手容易忽略的环节。即使Apache配置得再完美,Windows系统不认识你的自定义域名,照样访问不了。
hosts文件是一个没有后缀名的系统文件,路径在:
C:WindowsSystem32driversetchosts
打开方式:先打开这个文件夹,看到hosts文件后,右键选择“打开方式”,用记事本打开,如果提示没有权限,先把hosts文件复制到桌面,在桌面修改完后再复制回去覆盖原文件。
在文件末尾追加一行:
0.0.1 myproject.test
如果你配置了ServerAlias,再加一行:
0.0.1 www.myproject.test
0.0.1是本地回环地址,意思是告诉系统:“这个域名和我本机是同一个地址”,保存hosts文件时注意,如果保存类型带上了.txt后缀,说明你保存错了,正确结果应该是文件名叫hosts,没有扩展名。
第五步:重启WAMP服务,让配置生效
改完配置文件,必须重启WAMP才能让改动生效,点击桌面右下角任务栏的WAMP绿色或橙色图标,在弹出菜单中选择“重新启动所有服务”,如果你的图标变成红色或黄色,说明配置文件有语法错误,WAMP无法正常加载。
这里有一个快速判断错误的方法:重启服务后如果图标没变绿,点图标选“Apache -> 服务 -> 测试端口80”,有助于排查端口占用问题,行业共识认为,80端口被IIS或其它软件占用是WAMP无法启动的最常见原因之一。
第六步:验证域名是否配置成功
打开浏览器,地址栏输入http://myproject.test,回车,如果看到你的网站项目页面,恭喜你,wamp配置域名详细步骤到这里就全部完成了,如果看到403 Forbidden,检查一下DocumentRoot路径是否正确,以及<Directory>的配置是否和你的一致,如果看到404 Not Found,检查网站目录下有没有index.php或index.html入口文件。
新手配置wamp域名常见问题排查
即使照着教程一步步操作,也有不小概率遇到各种报错,这里把新手问得最多的几个问题和对应解决方案列出来。
WAMP图标变黄或变红,服务无法启动。
多半是80端口被占用,打开命令提示符,输入netstat -ano | findstr :80,看到占用端口的进程PID后,到任务管理器里找到对应进程结束它,如果被System进程占用,用管理员身份运行命令netstat -ano | findstr :80,找到PID为4的进程,那通常是IIS或SQL Server Reporting Services,需要在“服务”里关闭相关服务。
配置了域名但死活不生效,访问时跳转到默认页面。
优先检查hosts文件是否被Windows Defender或安全软件拦截修改,Windows 10以上的系统默认会校验hosts文件权限,如果你没有用管理员身份保存,修改会被自动还原,浏览器缓存也会导致域名解析不生效,按Ctrl+Shift+Del清除浏览器缓存后再试。
本地配置的域名在外网手机打不开。
这是概念理解偏差。wamp配置域名只是本地开发环境的行为,你的电脑没有公网IP,手机和外部设备根本无法访问myproject.test这个域名,如果需要别人通过域名访问你的本地项目,你需要内网穿透工具或部署到云服务器,那是另一个话题。
如何批量配置多个本地项目域名
做PHP开发的人,手头同时维护三四个项目很正常,每接到一个新项目就配置一次虚拟主机,重复劳动效率太低。这里介绍一个更高效的工作流,一次性配置好,以后新项目只需复制粘贴两行代码。
在Apache的httpd-vhosts.conf中,利用Apache的<IfModule>语法可以把配置拆得更细,但更推荐的做法是:单独建一个文件夹存放所有虚拟主机配置文件,然后在httpd-vhosts.conf末尾用一句Include指令总加载,具体操作是在httpd-vhosts.conf末尾写上:
Include "D:/wamp64/bin/apache/apache2.4.x/conf/extra/vhosts/.conf"
然后在
extra文件夹下建一个vhosts子文件夹,每个项目单独一个.conf文件,比如project1.conf、project2.conf,以后新增项目,只需要新建一个.conf文件、在hosts里加一行,重启服务就完事,不再需要去大文件里翻找粘贴位置。
这种方式还有一个额外好处:某个项目配置出错时,只需要暂时移动对应的.conf文件,不会影响其他站点运行,如果你管理着多个客户的站群,这种隔离式的配置方式用起来会非常顺手。
关于wamp配置域名,还有这几点需要提前知道
写这篇文章的时候,不少新手都在讨论要不要直接用phpStudy、宝塔面板这类集成环境代替WAMP,WAMP本身的优势在于灵活和透明,配置文件全是文本,出问题能直接看到原因,宝塔面板虽然帮助咱省了敲命令的步骤,但也屏蔽了底层细节如果你未来打算做服务器运维或深入学习Nginx/Apache,从WAMP手写配置起步会打下更扎实的基础。
如果在配置过程中碰到跨域请求问题,别着急删除ServerAlias配置开发时经常需要通过api.myproject.test和www.myproject.test区分前后端域名做联调,保留ServerAlias可以一次性把多个子域名绑定到同一个站点,省下不少功夫。
Q&A:wamp配置域名常见问题解答
问:wamp配置域名后,为什么访问时浏览器自动跳转到https?
一些浏览器(如Chrome)对.dev后缀域名有强制HTTPS策略,这是Chrome 63版本之后引入的行为,解决方法是换用.test或.localhost后缀,或者在Chrome的chrome://flags中关闭“自动将.dev域名转换为HTTPS”的开关,使用.test后缀是最稳妥的选择,因为这个后缀在RFC 2606规范中明确保留给测试场景。
问:配置多个域名时,为什么第一个虚拟主机总是优先级最高?
Apache处理虚拟主机的机制是,当请求的域名没有匹配到任何ServerName时,会默认使用配置文件中的第一个虚拟主机作为兜底,如果你想让某台虚拟主机成为默认站点,把它的<VirtualHost>代码块放在配置文件最前面即可,这就是为什么你配置了多个域名,但访问本机IP时总会跳到第一个站点的原因。
问:修改php.ini之后,配置的域名站点没有反应,这是为什么?
PHP的配置改动只对PHP解析生效,不影响域名解析,如果你修改了php.ini里的上传大小或时区设置,需要重启服务才能加载新配置,重启时注意,WAMP菜单里的“重新启动所有服务”会同时重启Apache和MySQL,如果你只改了PHP配置,只重启Apache的服务模块就够了,操作路径是:点击WAMP图标 -> Apache -> 服务 -> 重新启动服务。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/633218.html





