域名转发时的URL中的垃圾字符
我最近面临这个问题,我已将域转发给我的GoDaddy共享主机上托管的文件之一。但是,无论何时我在浏览器中输入域名,都会导致相应的文件(.html)以及前面的垃圾字符。域名转发时的URL中的垃圾字符
实施例:
www.domainname.info
引出:
https://www.mydomainname.in/coffee.html/NjSmZ/KiKgZ/
结果:
错误404页未找到。
没有更改任何代码;这是一个突然的行为。
UPDATE(详细信息):
的NjSmZ/KiKgZ/
是链接中的垃圾字符。转发是通过GoDaddy域转发器本身进行的。没有外部编码完成转发。
www.Aitb.in
是域名被转发至advity.in/adarsha.html
。
虽然我不知道GoDaddy如何在内部转发域名,但它似乎不是一个简单的DNS CNAME,因为当前域名查找中没有显示任何内容。
在玩耍时,看着转发域的响应,我看到它提供了一个301(永久移动)http响应。该响应将所选域替换为新域,并保持URL的路径部分不变。
考虑domain.a被转发的域和domain.b是新的领域,这意味着:
http://domain.a/ => http://domain.b/
http://domain.a/contact.html => http://domain.b/contact.html
http://domain.a/a/long/path/ => http://domain.b/a/long/path/
但在你的情况,你要转发到的不仅仅是一个域更多...域。 b为更像domain.b/coffee.html,遵循相同的规则,这意味着:
http://domain.a/ => http://domain.b/coffee.html
http://domain.a/contact.html => http://domain.b/coffee.html/contact.html
http://domain.a/a/long/path/ => http://domain.b/coffee.html/a/long/path/
所以,我的建议在这里,既可以使用更好的登陆到重定向路径url_rewrite到正确的。或者,如果你不能尝试添加一个?或#在你的URL的末尾。这是纯粹的推测,但如果重写没有其他隐藏规则,这将给出类似于以下内容的内容,这将作出适当的请求并“隐藏”垃圾部分。
http://domain.a/ => http://domain.b/coffee.html?
http://domain.a/contact.html => http://domain.b/coffee.html?/contact.html
http://domain.a/a/long/path/ => http://domain.b/coffee.html?/a/long/path/
“垃圾字符”肯定来自GoDaddy,而不是来自原始请求。域名转发就是GoDaddy所称的使用301或302重定向(或称为“屏蔽”的iframe)重定向web请求的服务。问题在于 - 无论出于何种原因,服务于重定向的GoDaddy网络服务器通常会在域后附加一些“随机”字符(作为子文件夹)。根据我的经验,子文件夹总是直接出现在域之后,并且可能是原始请求的一部分。所以,正如Salketer所说,这只是一个黑客。但是,GoDaddy方面仍然存在一个问题'
另外,如果您确实使用了hack并且在您的网站上使用了Google Analytics,则可能需要添加类似?x =的内容,而不仅仅是?然后,您可以在Google Analytics中排除x参数,并且最终不会为您的主页提供上百个不同的网址。
前面的垃圾字符是什么?前锋是如何制造的?我们可以看到它吗? – Salketer
我会问GoDaddy,因为他们是主人。,听起来像是一些奇怪的事情,可能是垃圾邮件。 – Lee
https://www.mydomainname.in/coffee.html/NjSmZ/KiKgZ/ @Salketer链接中的NjSmZ/KiKgZ /是垃圾字符。转发是通过GoDaddy域转发器本身进行的。没有外部编码完成转发。 –