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

Apache Rewrite如何检测查询参数为空或未携带?

Apache Rewrite 重定向规则实现方案

首先确认你的Apache环境已经开启mod_rewrite模块,以下规则可以直接写入站点根目录的.htaccess文件,或者对应虚拟主机的配置段中:

RewriteEngine On
# 匹配请求域名是www.myhost.com
RewriteCond %{HTTP_HOST} ^www\.myhost\.com$ [NC]
# 匹配请求路径为/my-page.html
RewriteCond %{REQUEST_URI} ^/my-page\.html$ [NC]
# 匹配查询参数为空,或者仅存在空值year参数
RewriteCond %{QUERY_STRING} ^(year=)?$ [NC]
# 执行重定向,丢弃原有查询参数
RewriteRule ^(.*)$ https://www.my-2nd-host.com/current-year/$1 [R=301,L,QSD]

参数说明

  • [NC]:匹配路径、域名、参数时不区分大小写
  • [QSD]:丢弃原请求的查询参数,不会把year=带到目标URL上。如果你使用的Apache版本低于2.4不支持该标记,可以把目标URL末尾加?实现相同效果,规则改写为:RewriteRule ^(.*)$ https://www.my-2nd-host.com/current-year/$1? [R=301,L]
  • R=301:使用永久重定向,若仅做临时测试可以改为R=302避免浏览器缓存旧规则
  • [L]:匹配到该规则后终止后续其他重写规则的执行

如果需要适配该域名下所有的.html页面,而非仅my-page.html,可以把路径匹配的规则修改为:

RewriteCond %{REQUEST_URI} ^/.*\.html$ [NC]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 14:15:04