【问题标题】:Paths changed in links on 404 page404 页面上链接中的路径更改
【发布时间】:2013-01-25 11:49:58
【问题描述】:

基本设置: 在我的 PC 上本地运行的 WAMP 服务器(在本地主机上运行 apache 2.2.22) 站点位于/libelle 目录下 .htaccess 放在该目录中,它只包含一行

ErrorDocument 404 /libelle/pages/404.html

404.html文件放在/libelle/pages目录下

这是怎么回事:

404 页面与原始站点具有相同的布局和菜单,并且指向站点页面的导航菜单相同:

../index.html

我们做什么.html

portfolio.html

contact.html

最后三个文件与 404 页面位于同一目录中,因此没有指向它们的路径。

这是我的工作:

a)我访问以下 URL - /libelle/pages/what-we-do.html 并按我应该的方式访问该页面(论坛不允许与 localhost 的链接,因此我将其替换为 webroot)

b)我将 url 更改为 /libelle/pages/what-we-SOMEWORDSdo.html 并按我应该的方式进入 404 页面。这里没问题。

一切看起来都很好。 如果不是像上面的链接那样更改 html 文件名,而是更改 URL 中的目录,就会发生奇怪的事情。 所以,就这样吧……

a)我访问以下 URL - /libelle/pages/what-we-do.html 并按我应该的方式访问该页面

b) 我将 url(这次是在目录名称中)更改为 /libeSOMEWORDSlle/pages/what-we-do.html 并按我应该的方式进入 404 页面。

c) 奇怪的事情来了.... 现在,当我将光标放在我的 404 页面上的导航菜单中时,它假设返回到我的正常站点链接,它显示:/libeSOMEWORDSlle/pages/what-we-do.html

换句话说 - 它在链接中显示更改的目录名称。 我不知道如何解决这个问题,总体上对这种行为感到困惑。 关于为什么会发生这种情况以及如何解决它的任何想法将不胜感激。

【问题讨论】:

    标签: html .htaccess http-status-code-404


    【解决方案1】:

    您的 HTML 中的链接可能是使用相对路径而不是绝对路径编写的。您应该使用像/libelle/pages/what-we-do.html 这样的绝对路径,而不是像../what-we-do.html 这样的相对路径。使用相对路径时,浏览器会构造 relative 到当前路径的链接。因此,如果您输入一个时髦的目录名称,即使它不正确,也将使用该目录名称构建路径。绝对路径将始终正确。

    【讨论】:

    • 快速提问 - 如果我将 url (/liblle) 中的根网站目录的名称更改为 /li23belle/,那么我会收到“未找到请求的 URL /lib23elle/index.html在这台服务器上。”我猜这意味着为了避免这种情况 .htaccess 和 404.html 必须更高 - 就在 localhost root 中?
    • 如果您将 URL 更改为不存在的目录,浏览器将无法加载该内容。如果重命名目录,您还必须更新 HTML 中的路径。
    • 是的,.htaccess 文件需要在根目录中。你的想法是对的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-23
    • 2019-01-13
    相关资源
    最近更新 更多