本地网络Apache代理:旧域名重定向至自托管新域名方案咨询
本地Apache实现旧域名重定向到新域名的方案
1. 先搞定本地DNS解析(必须操作)
你没法修改旧域名的公网DNS记录,所以得让内网所有设备把旧域名指向你的Apache服务器IP:
- 有本地DNS服务器(比如路由器自带的DNS功能):添加一条A记录,将
旧域名指向Apache服务器的内网IP - 没有本地DNS:给每台内网设备的hosts文件添加一行内容:
Apache服务器内网IP 旧域名
2. 配置Apache虚拟主机
在Apache的配置文件(比如httpd.conf或者sites-available/old-domain.conf)中添加以下配置:
# 处理HTTP请求 <VirtualHost *:80> ServerName 旧域名 # 永久重定向,保留原URL的路径和参数 Redirect permanent / https://新域名/ </VirtualHost> # 如果旧域名之前使用HTTPS,添加此配置 <VirtualHost *:443> ServerName 旧域名 # 注意:需要拥有旧域名的SSL证书才能正常使用;没有的话只能用自签证书,浏览器会弹出安全提示 SSLEngine on SSLCertificateFile /path/to/your/old-domain.crt SSLCertificateKeyFile /path/to/your/old-domain.key Redirect permanent / https://新域名/ </VirtualHost>
3. 验证配置并重启Apache
- 先检查配置语法是否正确:
apachectl configtest - 当提示
Syntax OK后,重启Apache服务:Linux系统执行systemctl restart apache2,Windows系统直接在服务列表中重启Apache
注意事项
- 旧域名使用HTTPS时,自签证书会触发浏览器安全警告,这是无法避免的,除非能获取到旧域名的官方SSL证书
- 确保内网设备可以正常访问Apache服务器的内网IP,防火墙需开放80和443端口
内容的提问来源于stack exchange,提问作者user18176237
相关产品推荐
相关产品推荐

