如何将WordPress站点的/shop路径重定向到Laravel电商站点?
WordPress /shop 路径重定向到独立Laravel电商站的解决方案
一、Apache 服务器(修改 .htaccess)
WordPress根目录的.htaccess是核心配置文件,必须把重定向规则放在WordPress默认路由规则之前,否则会被WP的路由拦截。
在文件开头添加以下规则,替换成你的Laravel站点域名:
RewriteEngine On # 重定向/shop及所有子路径到Laravel站点,保留原路径参数 RewriteRule ^shop(.*)$ https://你的Laravel站点域名$1 [R=301,L]
保留原有WordPress的默认规则:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>
R=301是永久重定向(利于SEO),临时测试可改用R=302L表示该规则匹配后停止执行后续规则
二、Nginx 服务器(修改站点配置)
在WordPress站点的Nginx配置server块中,添加重定向规则:
# 重定向/shop及子路径到Laravel站点 location /shop { return 301 https://你的Laravel站点域名$request_uri; } # 保留原有WordPress路由规则 location / { try_files $uri $uri/ /index.php?$args; }
$request_uri会保留用户访问的完整路径(比如/shop/product/123会跳转到Laravel站的对应路径),不需要的话可以去掉,直接跳转到Laravel根域名
三、无服务器配置的插件方案
如果你没有服务器配置权限,用WordPress插件Redirection快速实现:
- 安装并激活Redirection插件
- 进入插件后台,点击「添加新重定向」
- 源URL:填写
/shop - 目标URL:填写你的Laravel站点完整域名
- 匹配类型:选「包含」(覆盖所有/shop开头的子路径)或「精确」(仅匹配/shop本身)
- 重定向类型:选301永久重定向
- 源URL:填写
四、常见报错排查
- 重定向循环:检查WordPress是否存在slug为
shop的页面/文章,直接删除;同时确认Laravel站点没有反向跳转回WordPress的规则 - 404错误:Apache需确保
mod_rewrite模块已开启;Nginx检查配置是否重载生效;所有规则必须放在WP路由规则之前 - 权限问题:Apache下
.htaccess权限设为644,确保服务器可读取该文件
内容的提问来源于stack exchange,提问作者devdani7
相关产品推荐
相关产品推荐

