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

使用htaccess重定向含指定单词的URL(排除特定页面)

嗨,我来帮你搞定这个.htaccess重定向需求!结合你描述的场景,我们可以借助Apache的mod_rewrite模块来实现,下面是具体的配置和详细说明:

完整的.htaccess重定向规则
# 开启重写引擎
RewriteEngine On

# 排除指定的两个页面,不执行重定向
# 请把exclude-page1.html、exclude-page2.html替换成你实际要排除的页面路径
RewriteCond %{REQUEST_URI} !^/string/(exclude-page1|exclude-page2)\.html$

# 匹配所有包含"string"前缀的URL,并重定向到去掉前缀后的路径
# 请把"string"替换成你实际要匹配的特定单词
RewriteRule ^string/(.*)$ /$1 [R=301,L]
规则拆解说明
  • 开启重写引擎:RewriteEngine On是必须的,它告诉Apache我们要启用URL重写功能。
  • 排除规则:RewriteCond用来设置重写的前置条件,这里的规则意思是:如果请求的URI不是/string/exclude-page1.html或/string/exclude-page2.html,才会执行后面的重定向逻辑。
  • 核心重定向规则:RewriteRule ^string/(.*)$ /$1 [R=301,L]
    • ^string/(.*)$:匹配所有以string/开头的URL,(.*)会捕获string/后面的所有内容(包括空值,比如/string/这种情况)。
    • / $1:把捕获到的内容放到网站根路径下,实现去掉string/前缀的效果。
    • [R=301,L]:R=301表示永久重定向(如果只是临时测试,可以改成R=302);L表示这是最后一条规则,匹配后就停止处理后续规则。
注意事项
  • 请根据实际需求替换规则中的string、exclude-page1.html和exclude-page2.html。
  • 确保你的服务器已经开启了mod_rewrite模块(大部分主流主机默认是开启的,如果不确定可以联系主机商确认)。
  • 测试阶段建议先用R=302临时重定向,确认规则生效后再改成R=301,避免浏览器缓存错误的重定向规则。
  • .htaccess文件要放在网站的根目录下,并且设置正确的权限(一般是644)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:52:03