如何在Ubuntu中配置Apache,使example.com及www.example.com指向本地?
解决Apache配置example.com指向本地主机的问题
别担心,我来一步步帮你搞定这个事儿!因为你没有example.com的域名控制权,所以得先让本地电脑把这个域名解析到localhost,再配置Apache的虚拟主机。
第一步:修改本地hosts文件(关键!)
这一步是让你的电脑在本地把example.com和www.example.com指向127.0.0.1:
Linux/macOS:打开终端,编辑
/etc/hosts文件(需要sudo权限):sudo nano /etc/hosts添加以下两行:
127.0.0.1 example.com 127.0.0.1 www.example.com保存退出(Ctrl+O,回车,Ctrl+X)。
Windows:找到
C:\Windows\System32\drivers\etc\hosts,右键用记事本(以管理员身份)打开,添加上面两行,保存即可。
第二步:配置Apache的example.conf文件
创建并编辑你的虚拟主机配置文件,内容如下(根据你的实际路径调整):
<VirtualHost *:80> # 主域名 ServerName example.com # 域名别名(www前缀) ServerAlias www.example.com # 你的本地项目根目录,记得提前创建这个文件夹 DocumentRoot /var/www/example.com/public_html # 目录权限设置,确保Apache能访问这个目录 <Directory /var/www/example.com/public_html> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> # 可选:配置日志文件,方便排查问题 ErrorLog ${APACHE_LOG_DIR}/example.com_error.log CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined </VirtualHost>
第三步:完成配置并验证
- 创建文档根目录(如果还没创建):
sudo mkdir -p /var/www/example.com/public_html - 放一个测试页面进去,比如创建
index.html:echo "<h1>Success! example.com is pointing to localhost!</h1>" | sudo tee /var/www/example.com/public_html/index.html - 启用这个虚拟主机配置:
sudo a2ensite example.conf - 重载Apache服务让配置生效:
sudo systemctl reload apache2
现在打开浏览器访问example.com或者www.example.com,就能看到你刚才放的测试页面啦!
内容的提问来源于stack exchange,提问作者Poojan Ajani
相关产品推荐
相关产品推荐

