如何通过.htaccess重定向将URL中字符串作为参数传递到新URL
.htaccess重定向配置方案
前置要求
- 确保Apache的
mod_rewrite模块已启用 - 如下配置需放在站点根目录的
.htaccess文件中
完整配置代码
RewriteEngine On # 匹配旧URL规则提取密钥并重定向 RewriteRule ^.*/empfangen([a-zA-Z0-9]+)$ /empfangen?zustellungnr=$1 [L,R=302,NC]
规则说明
参数解析:
^.*/empfangen([a-zA-Z0-9]+)$:匹配任意前缀路径下,以empfangen开头后接字母数字组合密钥的URI,括号内捕获的密钥内容存入$1变量/empfangen?zustellungnr=$1:目标跳转地址,将捕获的密钥赋值给zustellungnr参数- 标记位说明:
L:匹配到当前规则后停止后续规则执行R=302:使用临时重定向,验证规则生效无误后可改为R=301(永久重定向,利于SEO)NC:匹配时忽略大小写,不需要可直接移除
注意事项
- 配置修改后部分环境需要重启Apache服务生效,虚拟主机环境大多直接修改文件即可实时生效
- 如果站点存在其他重定向规则,建议将本条规则放在靠前位置,避免被其他规则优先匹配拦截
- 如果密钥允许包含特殊符号,可以将
[a-zA-Z0-9]+替换为[^/]+,匹配除路径分隔符斜杠外的所有字符
内容的提问来源于stack exchange,提问作者Beatroot
相关产品推荐
相关产品推荐

