如何在.htaccess中实现特定规则的URL重定向?
.htaccess 实现指定前缀的URL重定向配置
直接在你的.htaccess文件中添加以下规则即可实现需求:
RewriteEngine On # 匹配以/g/开头的路径,并重定向到glink.html RewriteRule ^g/(.*)$ /glink.html?LinkId=/$1/ [L,QSA]
规则解释:
RewriteEngine On:开启URL重写引擎,这是所有重写规则生效的前提。^g/(.*)$:正则匹配规则,^标记字符串开头,g/精准匹配路径中开头的/g/,(.*)捕获/g/之后的所有内容(包括多级路径如0/1/、a/4/这类格式)。/glink.html?LinkId=/$1/:重定向的目标路径,$1对应前面正则捕获到的内容,拼接后完全符合你需要的LinkId参数格式。[L,QSA]:L表示这是最后执行的规则,匹配后不再处理后续规则;QSA表示如果原URL带有其他查询参数,会自动追加到新URL末尾(比如原路径是/g/0/1/?foo=bar,重定向后会变成/glink.html?LinkId=/0/1/&foo=bar)。
注意事项:
- 确保你的服务器已开启
mod_rewrite模块,否则规则无法生效。 - 如果
.htaccess中已有其他重写规则,建议将这条规则放在靠前位置,避免被其他规则拦截。
内容的提问来源于stack exchange,提问作者10x engineer
相关产品推荐
相关产品推荐

