You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AWS EC2 Apache服务器及Cloudflare中将子域名重定向到路径

实现步骤

1. EC2 服务端配置

  • 先调整Apache监听端口,避免和MERN站的前置服务端口冲突:打开Apache配置文件(一般路径为/etc/httpd/conf/httpd.conf或者/etc/apache2/ports.conf),将默认Listen 80修改为Listen 127.0.0.1:8080,保存后重启Apache服务。
  • 配置MERN站前置Nginx的反向代理规则,在MERN站对应的Nginx server配置块中新增如下规则,将/blog路径的请求转发到本地Apache服务:
location ^~ /blog {
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

保存后执行nginx -s reload重载配置。

  • 修改WordPress核心配置,打开WordPress根目录下的wp-config.php文件,新增如下两行配置,指定站点的新访问路径:
define( 'WP_HOME', 'https://myweb.com/blog' );
define( 'WP_SITEURL', 'https://myweb.com/blog' );
  • 更新WordPress的伪静态规则,打开WordPress根目录下的.htaccess文件,替换为适配子目录的规则:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>
  • 启用Apache所需模块,执行命令a2enmod rewrite proxy proxy_http后重启Apache服务。

2. Cloudflare 配置调整

  • 主域名myweb.com的DNS记录无需修改,保持原有指向EC2的配置即可。
  • 新建Cloudflare页面规则,匹配路径填写blog.myweb.com/*,规则选择*「转发URL - 301永久重定向」*,目标路径填写https://myweb.com/blog/$1,保存后将规则优先级调至最高生效。
  • 确认Cloudflare的SSL策略保持原有配置即可,无需额外调整,避免出现证书适配问题。

3. 验证与收尾

  • 依次测试MERN站原有路径、/blog路径下的WordPress前台、后台、静态资源、文章链接是否均可正常访问。
  • 使用WordPress搜索替换类插件,批量替换站点内残留的blog.myweb.com旧域名链接,避免出现跳转异常。
  • 清理WordPress、Nginx、Cloudflare的缓存后,测试原有子域名的任意链接是否可以正常301跳转到新路径,确认SEO权重传递不受影响。

内容的提问来源于stack exchange,提问作者Spandan Joshi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 01:24:00