“http:”或“https:”的包含部分是传统问题,部分是实际指定协议的问题。如果未指定,将使用当前页面的协议;例如,//www.example.com 成为 http://www.example.com 或 https://www.example.com 取决于引用页面的 URL。如果一个网页被保存在本地磁盘上然后从那里打开,它就没有协议(只有文件伪协议),因此像 //www.example.com 这样的 URL 将无法工作;这就是包含“http:”或“https:”的原因之一。省略“//”部分也是一个完全不同的问题,它将把 URL 转换为相对 URL,这将被解释为相对于当前基本 URL。www.example.com 之所以在浏览器地址栏中输入或粘贴时有效,是因为相对 URL 在那里没有意义(没有要关联的基本 URL),所以浏览器厂商决定在那里隐含“http://”前缀。
href中的URL不仅限于HTTP文档。它们支持浏览器支持的所有协议-如ftp、mailto、file等。 此外,您可以在URL名称前加上“#”,以在页面内部链接到html id。您可以只给出名称或目录路径,而无需协议,这将被视为相对URL。
我的解决方案是通过重定向服务来欺骗浏览器,例如bit.ly和goo.gl(即将停止),还有其他类似的服务。 当浏览器意识到快捷方式的URL是https时,它会自动释放链接图片,替换为http图片,而不显示原始链接。 令人烦恼的是,根据访问次数,它会在您的重定向控制面板中显示成千上万次“点击”,实际上是“展示”。 基于这个经验,我将寻找一个用于重定向的WordPress插件,并创建自己的“重定向链接”。这样我就可以把https://mysite.com/id重定向到http链接。
<a href="example.com">
和<a href="example.html">
- 由于浏览器无法根据扩展名猜测链接的指向,应该怎么办呢?还是说<a href="example.pl">
是指向一个波兰网页还是一个Perl文件? - Gareth