棘手的重定向/重写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了棘手的重定向/重写相关的知识,希望对你有一定的参考价值。

我搜索了这个,但没有发现......

我的旧网站是:cs.abc.edu/~cs4096 我的文件是:cs4096@cs.abc.edu/public_html 我的个人网站:myname.com 我的Github Pages网站:myname.github.io

当用户请求cs.abc.edu/~cs4096时,他们将获得cs.abc.edu/~cs4096/index.html等服务。

通过托管myname.com的ISP,我设置了一个将teaching.myname.com指向myname.github.io的CNAME。

我希望将旧网站的引用(包括顶部index.html下面的页面)发送到teaching.myname.com,通过DNS CNAME的魔力将URL发送到myname.github.io网站。换句话说,用户仍然去cs.abc.edu/~cs4096,但他们是从github.io服务。

teaching.myname.com - > myname.github.io位工作正常。这是失败的初始重定向/重写。问题是~cs4096在传递给myname.com时包含在URL中。

就是这个

http://cs.abc.edu/~cs4096

最终成为

http://teaching.myname.com/index.html~cs4096

代替

http://teaching.myname.com/index.html

还有这个

http://cs.abc.edu/~cs4096/Schedule

最终成为

http://teaching.myname.com/index.html~cs4096/Schedule

代替

http://teaching.myname.com/Schedule

并且,如果你想知道为什么我在这里做两个“重定向”,那是因为想要自动重建github页面,我无法在abc.edu或myname.com上获得。

谢谢你们

答案

没关系......我放弃了这个想法并使用了HTML重定向。它会在浏览器中弄乱“返回”,但它可以工作。

以上是关于棘手的重定向/重写的主要内容,如果未能解决你的问题,请参考以下文章

IIS URL 重写模块:基于 QueryString 的重定向

URL 重写 - 不带文件扩展名的重定向

具有重写功能的 IIS 反向代理无法处理来自我们代理到的服务器的重定向

通过地址重写, 解决ingress在使用非标准端口(80, 443)时, 引起的重定向丢失端口问题

通过地址重写, 解决ingress在使用非标准端口(80, 443)时, 引起的重定向丢失端口问题

Nginx中的Rewrite的重定向配置与实践