首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >md5重定向规则md5和保留htaccess

md5重定向规则md5和保留htaccess
EN

Stack Overflow用户
提问于 2020-07-14 19:10:10
回答 1查看 95关注 0票数 1

我有:

仅当新域是md5时,我才希望将其转移到新域,并将此变量保留为get md5 = https://new.example.com/login?md5={md5}

我有以下规则

代码语言:javascript
运行
复制
    RewriteRule ^[a-f0-9]{32}$ https://new.example.com/login$1 [R=301,L]

它工作一半,如果链在md5上,它可以很好地重定向,但不保留md5的值。我想它缺少(.*)

我必须保留所有其他没有md5的页面

代码语言:javascript
运行
复制
https://new.example.com/contact.html
https://new.example.com/bablac/blibli.html
EN

回答 1

Stack Overflow用户

发布于 2020-07-14 20:41:55

RewriteRule ^a-f0-9{32}$ https://new.example.com/login$1 R=301,L

更新:你实际上并没有捕获任何东西,所以$1的反向引用总是空的。您需要在RewriteRule模式中创建一个捕获组(即,用圆括号括起来)或使用包含整个匹配的$0反向引用。

您还将重定向到/login{md5},而您声明需要重定向到/login?md5={md5} (以“将此md5作为get变量”),因此您需要调整规则的最后一部分以读取/login?md5=$1。换句话说:

代码语言:javascript
运行
复制
RewriteRule ^[a-f0-9]{32}$ https://new.example.com/login?md5=$0 [R=301,L]

您需要清除浏览器缓存,因为301 (永久)重定向将由浏览器缓存。

我假设旧域和新域指向不同的服务器,否则,您可能需要一个显式检查所请求主机名的条件。例如:

代码语言:javascript
运行
复制
RewriteCond %{HTTP_HOST} ^old\.example\.com [NC]
RewriteRule ^[a-f0-9]{32}$ https://new.example.com/login?md5=$0 [R=301,L]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62893826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档