【问题标题】:Is it bad practise to start links with "/" in html?在 html 中用“/”开始链接是不好的做法吗?
【发布时间】:2015-11-27 15:15:26
【问题描述】:

我的网站代码示例:

<a href=/post/64/page-name><img src=/img-folder/2015/09/image.jpg></a>
<div id=cont2><a href=/post/64/page2>page 2 link</a></div>

我的第一个问题是,我可以只用 / 开始链接吗?这是一个坏习惯吗?因为我查看的所有网站资源都以 www.website.com/ 开头...而不仅仅是 /

第二个问题是引号。从 html 2.0 开始就不需要了,但在上面的例子中它重要吗?

我的网站在 google 上无法正确显示...可能是因为这个问题吗?

【问题讨论】:

    标签: html


    【解决方案1】:

    这不是坏习惯。以/ 开头的 URL 只是相对于基本路径的相对 URL。你用得很好。

    另一个示例用法是当您想要引用 CSS 或 JavaScript 文件并且您深入到路径中时。

    <script src="/scripts/main.js"></script>
    

    然后,无论用户在您网站的哪个位置,他们总是会请求http://example.com/scripts/main.js。其中example.com您网站的 域。


    另外:总是引用属性值。 (attribute="value" 而不是attribute=value)。

    【讨论】:

      【解决方案2】:
      1. / 表示您当前所在位置的开始。因此,如果您的资源位于同一目录下,则可以使用/ 开头。如果引用外部资源,则不能使用/ 启动。 (例如www.google.com表示google网站,/www.google.com表示当前目录下名为www.google.com的文件夹,如http://localhost/www.google.com

      2. 在属性值中使用空格时需要引号(例如 class="my super classs-name that has white-space" | class=my super classs-name that has white-space)。

      3. My website is having some problems on google to show correctly 搜索引擎优化的东西。什么问题?您的页面不在 Google 搜索的第一页下?这是一个单独的话题。

      【讨论】:

      • 我猜是?只是问题的一部分,实际上并不在路径中
      • 是的,不在第一页下面,它显示的是旧版本。
      • @Minzkraut 是的,发现了,已修复
      【解决方案3】:

      这不是禁止的。当您以斜线 / 开始链接时,它只是相对于 基本元素的路径。

      您可以在此处阅读有关 BASE 元素的更多信息:http://www.w3.org/TR/html4/struct/links.html#h-12.4


      例如,如果您已经在:http://example.com/folder/index.html

      /posts/index.html 将链接到:http://www.example.com/posts/index.html posts/idnex.html 将链接到 http://www.example.com/folder/posts/index.html

      【讨论】:

        【解决方案4】:

        如果您引用external sources,则必须添加完整路径/地址
        如果您引用 local resources 由您决定。(或多或少)
        How to properly reference local resources in HTML? 上打个招呼
        您应该使用 double " 或 single ' qoutations - 至少这是一个好习惯。
        但如果没有空格,则不必。

        【讨论】:

          【解决方案5】:

          当您以“/”开始链接时,意味着您从根目录开始。 示例:您的网站位于目录 /web/html 中。 现在,当您使用“/”开始链接时,它会转到根文件夹。在这种情况下是 web 文件夹。

          【讨论】:

            【解决方案6】:

            我知道这是旧的并且已经回答,但是当我搜索类似的东西时它出现在 Google 上,所以我只是想添加到答案中。

            有时,当我需要对不需要服务器的简单 HTML 站点进行真正快速的操作时,我通常只需在终端中 open index.html 即可在浏览器中快速预览页面。但是,当您这样打开站点时,使用前导斜杠加载资源(即/js/main.js)将不起作用。这是因为当您通过在浏览器中打开文件来加载网站时,浏览器会将驱动器的根目录作为您网站的基本路径。

            如果你有这样的文件,例如:

            drive/Users/username/Documents/www/index.html
            drive/Users/username/Documents/www/js/main.js
            

            然后你像这样引用你的脚本:

            <script src="/js/main.js"></script>
            

            浏览器会认为你实际上指向这里(如果你直接在浏览器中打开文件):

            drive/js/main.js
            

            因为在这种情况下/ 表示drive,而不是在服务器上的网站根文件夹(在这种情况下为www)。

            【讨论】:

              【解决方案7】:

              不,在开始链接时放“/”并不是一个坏习惯。但是在每个 html 属性中都没有引号?我不这么认为。但我建议将 quote(") 放在每个 html 属性中,以使其更具可读性。

              【讨论】:

                猜你喜欢
                • 2019-12-30
                • 1970-01-01
                • 2020-09-08
                • 2020-05-07
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多