我有一个网站(我们称之为www.mywebsite.com
),它允许用户输入一个URL,我的网站上的其他用户可以重定向到该URL。如果用户键入一个完整的URL,比如https://www.google.com
,那么一切都很好,因为我的header()
函数会重定向到这个URL。
然而,当用户输入www.google.com
或甚至google.com
时,header()
功能将尝试重定向到此https://www.mywebsite.com/www.google.com
。
记住,我自己无法完全格式化用户的URL,因为程序不知道网站是https://
还是http://
,如果你弄错了,用户可能会出现一个不存在的页面。
我需要的是一种方法,告诉PHP只访问指定的URL,而不与我的网站相关,就像用户自己在URL栏中键入的一样。
有什么想法吗?
只有在您不知道协议的情况下,您才应该重定向到http://
,因为接收网站实际上有责任设置从HTTP到HTTPS的重定向。
因此,如果用户没有指定协议,只需添加非安全的http协议,就会被重定向到正确的页面。
如果用户没有插入www
,则根本不应该插入。
尽管如此,您始终可以在自己的代码中执行检查,以查看另一端存在哪些协议,但您可能应该首先简单地强制用户提供