如何用htaccess修改文件夹名并移除URL末尾的'-2'字符串
.htaccess 重写规则实现URL替换及末尾'-2'移除
直接用以下两组规则就能同时满足你的两个需求,注意规则顺序不能颠倒:
# 匹配末尾带'-2'的OLDNAME路径,替换为NEWNAME并移除'-2' RewriteRule ^OLDNAME/(.*)-2$ /NEWNAME/$1 [NC,R=301,L] # 匹配所有OLDNAME路径,替换为NEWNAME RewriteRule ^OLDNAME/(.*)$ /NEWNAME/$1 [NC,R=301,L]
规则说明
- 第一条规则优先执行,专门捕获URL末尾带有
-2的情况:通过(.*)-2捕获OLDNAME/之后到-2之前的所有内容,再拼接成NEWNAME/+捕获内容的新路径,完成跳转。 - 第二条规则处理剩下的所有包含
OLDNAME的URL,完成基础的路径替换。 - 标记说明:
NC:忽略URL大小写匹配R=301:永久重定向,适合正式环境(利于搜索引擎收录),测试阶段可改为R=302临时重定向L:匹配当前规则后停止执行后续规则,避免冲突
注意事项
- 确保服务器已启用
mod_rewrite模块 - .htaccess文件需放置在网站根目录,且服务器允许.htaccess生效
内容的提问来源于stack exchange,提问作者jlc
相关产品推荐
相关产品推荐

