【问题标题】:How to change directory but keep same page url as simple HTML?如何更改目录但将相同的页面网址保留为简单的 HTML?
【发布时间】:2017-09-16 09:45:16
【问题描述】:

在一个非常简单的纯 HTML 网站中,如何实现这一点:

On a page Mysite.com/ABC/mypage.html

Action ; visitor clic on a link, goes to

Mysite.com/XYZ/mypage.html

那么使用<a href=""></a> 之类的简单文本链接,只更改实际页面的上一个目录?

对于简单的语言切换来说可能是一个很好的简单解决方案

【问题讨论】:

  • “保持与简单 HTML 相同的页面 url”是什么意思?如果您保留相同的 URL,您将链接到页面本身,因此您必须表示其他内容。可以通过多种方式解释问题。

标签: html directory href


【解决方案1】:

这是你要找的吗?

<a href="/XYZ/mypage.html">Text</a>

这是因为以正斜杠 (/) 开头的 URL 称为“绝对路径”,并且指的是根目录,即相对于 mysite.com

或者,如果您想只影响上一个目录,您可以使用以下命令:

<a href="../XYZ/mypage.html">Text</a>

这是因为 .. 指的是父目录。因此,如果您在 example.com/folder1/ABC/mypage.html 有一个页面,并且您希望该页面链接到 example.com/newpages/XYZ/mypage.html,您可以这样做:

<a href="../../newpages/XYZ/mypage.html">Text</a>

网上有很多例子和教程,例如https://www.w3.org/TR/WD-html40-970917/htmlweb.html

【讨论】:

    【解决方案2】:

    你可以这样做:

    <a href="../XYZ/mypage.html">
    

    您可以将文件名更改为index.html,或者您在网络浏览器中为默认页面名称设置的任何其他名称,您只需这样做:

    <a href="../XYZ/">
    

    【讨论】:

    【解决方案3】:

    对于纯 HTML,我相信 Kamyar Infinity 的关于重写规则的 cmets 是您最好的选择。但是,如果您正在考虑使用 PHP,这可能会奏效。它将当前文件名打印到所需目录的后面:

     <a href="/xzy/<?php echo basename($_SERVER['PHP_SELF']); ?>">text</a>
    

    或者,我们可以使用 javascript 来操作此链接的 href(完全不使用 PHP):

    <a href="/xyz/">text</a>
    
    <script>
      //Get current Pagename
      var currentPage = location.pathname.substring(location.pathname.lastIndexOf("/") + 1);
    
      //Change href for link
      document.querySelector('a[href="/xyz/"]').setAttribute('href', '/xyz/'+ currentPage);
    </script>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-08
      • 2013-10-09
      • 1970-01-01
      • 1970-01-01
      • 2017-11-06
      • 2014-03-29
      • 2023-03-25
      • 2021-08-22
      相关资源
      最近更新 更多