我最近遇到了这个问题,我已将我的域名转发到我的 GoDaddy 共享主机上托管的文件之一。但是,每当我在浏览器中输入域名时,它都会导致相应的文件(.html)以及前面的垃圾字符。
示例:
www.domainname.info
导致:
https://www.mydomainname.in/coffee.html/NjSmZ/KiKgZ/
结果:
Error 404 page not found.
没有更改任何代码;这是一个突然的行为。
更新(更多信息):
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/
但就您而言,您转发的不仅仅是一个域...domain.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/
关于html - 域名转发时 URL 中的垃圾字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46038158/