当进来的网址是 A,则自动跑去 B并附带值?

发布于 2022-09-07 23:11:48 字数 478 浏览 39 评论 0

事由
因為別人的域名要轉到自己的服務器上,但原本的文真連結路徑不同,可能會失效
例如原本是 http://love.me/12939 ,文章數據轉到我的服務器上,並會添加兩種類型,網址必須變成 https://love.me/blog/type/sub-type/12939
但是 typesub-type 的變化會取決於文章被指定的類型,例如叫做 abc, prod ,就會變成 https://love.me/blog/abc/prod/12939

問題

  • 這個在 htaccess 有辦法實現嗎?
  • 能怎麼正確的帶入 type/sub-type?除了文章ID沒有變以外其他都得變 ..LOL

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

马蹄踏│碎落叶 2022-09-14 23:11:48
  • 首先回答网址跳转的问题,从http://A.com跳转到https://B.com一般可以首先考虑修改DNS解析规则,将原先的A记录(解析到ip)变更为30x/显式跳转记录(各家DNS服务商对这种记录的叫法不太一样,比如我用的阿里云的就叫显式跳转,也有叫URL跳转的,其实都是301/302跳转),记录值直接写成https://B.com就行了,后边的部分需要丢到Web服务的前级去处理
  • htaccess可以处理偏静态的重写(rewrite)类需求,比如将A.com/index.html重写为A.com/index.php,或者是将A.com/auth5/39/重定向到A.com/index.php?cat=auth&id=5&num=39这种,只要加条RewriteEngine on指令再用RewriteRule指令分别写出要筛选和匹配为的URL就行了。但不太清楚你这两个变量的规则是什么,所以也不确定可不可以由前级来做……(另外我Apache也不太熟。。。)
  • 后级也可以做Rewrite,比如我用过PHP框架Yii的相应模块就是urlManager,其它框架也大同小异,都是写正则。。

同域名,如果type与sub-type不固定的话,那么rewrite一般还是要交给后级来做。只有一种情况例外,就是你的前级自带逻辑(比如带有Lua扩展的Nginx版本),这时才能在前级直接处理。

素罗衫 2022-09-14 23:11:48

不可以

因为 别人给你的信息少于你需要的必要信息。
别人只给你了 /12411.html 而你需要 type/sub-type/12411.html 如果未能通过其他方式传递参数过来,那么将是不可行状态。

七月上 2022-09-14 23:11:48

我也觉得不行的,因为这种Nginx的rewrite规则是不支持这种需求的,具体的,你可以看看Nginx的重写规则。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文