当前位置: 首页 > news >正文

Apache服务器IP 自动跳转域名教程​

​​问题背景​​

在 XAMPP 环境中,我们经常需要让用户访问 ​​服务器 IP​​ 时自动跳转到 ​​绑定的域名​​(如 https://example.com),同时确保 HTTPS 安全访问。本教程将详细介绍如何通过 Apache 虚拟主机配置实现这一功能,并解决常见问题。

解决方案​​

方法 1:修改 httpd-vhosts.conf(推荐)​​

步骤 1:编辑虚拟主机配置文件​​

路径:

Windows​​: C:\xxx\apache\conf\extra\httpd-vhosts.conf
Linux​​: /opt/lampp/etc/extra/httpd-vhosts.conf

在文件末尾添加以下配置(替换 123.123.123.123 为你的服务器 IP,example.cn 为你的域名):

# 强制 IP 跳转到域名(HTTP)
<VirtualHost 123.123.123.123:80>ServerName 123.123.123.123Redirect permanent / https://example.cn/
</VirtualHost># 强制 IP 跳转到域名(HTTPS)
<VirtualHost 123.123.123.123:443>ServerName 123.123.123.123SSLEngine onSSLCertificateFile "conf/ssl/example.cn.crt"SSLCertificateKeyFile "conf/ssl/example.cn.key"Redirect permanent / https://example.cn/
</VirtualHost># 默认域名配置(HTTP → HTTPS)
<VirtualHost *:80>ServerName example.cnServerAlias www.example.cnRedirect permanent / https://example.cn/
</VirtualHost># 默认域名配置(HTTPS)
<VirtualHost *:443>ServerName example.cnServerAlias www.example.cnDocumentRoot "/opt/lampp/htdocs/example"SSLEngine onSSLCertificateFile "conf/ssl/example.cn.crt"SSLCertificateKeyFile "conf/ssl/example.cn.key"<Directory "/opt/lampp/htdocs/gsglbwg">Options Indexes FollowSymLinksDirectoryIndex index.html index.phpAllowOverride AllRequire all granted</Directory>
</VirtualHost>
步骤 2:确保关键模块已启用​​

在 httpd.conf 中取消以下注释(若未启用):

LoadModule rewrite_module modules/mod_rewrite.so
LoadModule alias_module modules/mod_alias.so
LoadModule ssl_module modules/mod_ssl.so
步骤 3:重启 Apache​​
sudo /opt/lampp/lampp restart  # Linux
# 或在 Windows 使用 XAMPP 控制面板重启

方法 2:使用 .htaccess 文件

如果无法修改虚拟主机配置,可在网站根目录(如 /htdocs/example)创建 .htaccess 文件:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^123\.123\.123\.123$
RewriteRule ^(.*)$ https://example.cn/$1 [L,R=301]
http://www.xdnf.cn/news/1390195.html

相关文章:

  • electron-vite 配合python
  • UPDF for mac PDF编辑器
  • JAVA:Spring Boot 集成 Easy Rules 实现规则引擎
  • 来自火山引擎的 MCP 安全授权新范式
  • 嵌入式Linux驱动开发:i.MX6ULL按键中断驱动(非阻塞IO)
  • PostgreSQL15——子查询
  • 基于SQL大型数据库的智能问答系统优化
  • Emacs 多个方便查看函数列表的功能
  • QML QQuickImage: Cannot open: qrc:/images/shrink.png(已解决)
  • 前端-初识Vue实例
  • Spring Boot Redis序列化全解析(7种策略)
  • 2024年06月 Python(四级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • leetcode 461 汉明距离
  • 如何在FastAPI中玩转全链路追踪,让分布式系统故障无处遁形?
  • 基于MCP工具的开发-部署-上线与维护全流程技术实现与应用研究
  • 北斗导航 | PPP-RTK算法核心原理与实现机制深度解析
  • AI助力PPT创作:秒出PPT与豆包AI谁更高效?
  • TypeScript:map和set函数
  • 【前端教程】从基础到专业:诗哩诗哩网HTML视频页面重构解析
  • Java试题-选择题(21)
  • new/delete 和 malloc/free 区别
  • 小杰机器视觉(five day)——直方图均衡化
  • linux系统学习(13.系统管理)
  • 基于orin系列的刷写支持笔记
  • 30分钟入门实战速成Cursor IDE(1)
  • 【拍摄学习记录】04-拍摄模式/曝光组合
  • Nginx的主要配置文件nginx.conf详细解读——及其不间断重启nginx服务等操作
  • 数据结构—第五章 树与二叉树
  • 机器学习算法全景解析:从理论到实践
  • vue3 鼠标移上去 显示勾选框 选中之后保持高亮