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

如何用.htaccess将带smp查询字符串的URL重定向为带p的同值URL?

解决.htaccess查询字符串重定向问题

你的配置存在几处问题,调整后即可正常生效:

错误点梳理

  • 查询字符串不会包含开头的斜杠,原配置里RewriteCond的^/?smp=多了/?,导致匹配失效
  • 目标URL里用$无法引用捕获的数字,需用%1对应RewriteCond中括号捕获的分组内容
  • 若无需强制跳转至www域名,目标URL里的www可删除,保持与来源域名一致

正确配置

如果仅需根路径下的重定向,且保持域名一致:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^smp=([0-9]+)$ [NC]
RewriteRule ^$ /?p=%1 [R=302,L]

测试确认正常后,可将R=302(临时重定向)改为R=301(永久重定向)。如果需要指定完整HTTPS域名:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^smp=([0-9]+)$ [NC]
RewriteRule ^$ https://example.com/?p=%1 [R=302,L]

配置说明

  • %1用于引用RewriteCond中括号捕获的数字串,若捕获来自RewriteRule则使用$1
  • [NC]表示忽略大小写,对查询字符串smp的大小写不敏感
  • [L]表示当前规则匹配后不再执行后续规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 14:52:36