我用 Wget 下载了站点转储(链接已转换),很多文件的名称如下:index.html?foo=bar
。我打开它们的唯一方法是直接将它们指定为浏览器参数。当我尝试通过其他文件中的链接打开它们时,打开的文件只是index.html
。我尝试使用 Firefox、Chromium、Elinks 和 Lynx。Lynx 是唯一一个可以正常工作的,但我不能总是使用它,因为它有某些问题我能想到的唯一解决方案是重命名所有文件并转换其中的所有链接,但这看起来不太方便。
我可以做些什么让浏览器(最好是 Firefox)通过链接打开这些文件?
UPD:只有当我尝试通过其他文件中的链接打开文件或从地址栏打开文件时,问题才会持续存在。因此浏览器的行为就像后面的部分?
不是名称的一部分,而是服务器的一些数据。也许有一个选项可以默认转义这些字符并逐字逐句地跟踪链接?
答案1
看起来您镜像的站点正在.html
以特殊方式处理。通常,这将是静态 HTML,没有任何服务器端脚本,只是通过网络服务器在磁盘上存储。
此?foo=bar
参数在静态 HTML 中无效。如果此方法在实时网站上有效,则表明.html
该服务器上的文件实际上是由脚本处理器处理的。
这会导致您使用脚本渲染的输出,wget
而不是生成输出的脚本。由于您没有实际的脚本,如果给定参数的脚本输出不同,则输出可能会不同。