尝试修改我的 html 索引页的 url 显示

尝试修改我的 html 索引页的 url 显示

我想要做的是提供一个诸如“index.html”的文件,并让其 URL 为 mysite.com/boat-repair/electrical-system-repair。

我尝试将目标文件放在一系列子目录中,希望目录名称会显示在地址栏中,但这仍然只会拉出目标文件,而不会更改地址栏。我总是看到这种情况,但我似乎找不到解决问题所需的资源。我尝试了这个实验:

RewriteEngine On    
RewriteRule    ^boat-repair/?$    boat-repair-electrical-system-repair.html

当我输入 mysite.com/boat-repair.html 时,它只显示一个名为 boat-repair.html 的测试 html 页面,没有更改 url 并且没有加载 boat-repair-electrical-system-repair.html 页面。

显然我在这里遗漏了一些东西,有人能给我指出正确的方向吗?我已经研究了好几个小时,但显然仍然不知道如何实现我的目标。

答案1

迈克尔...谢谢你的线索...虽然更多的细节会更有帮助,但它让我思考这个规则应该如何运作。

这是我想出的工作代码:

RewriteEngine On
RewriteRule    ^/?$    /boat-repair/electrical-system-repair  [NC]
RewriteRule    ^boat-repair/electrical-system-repair/?$    /index.html [NC]

第一条规则告诉服务器在进入根目录时提供以下服务:boat-repair/electrical-system-repair。

第二条规则告诉服务器,如果匹配模式:boat-repair/electrical-system-repair,则提供 index.html

最后一步提供的文件(index.html)可以命名为任何你喜欢的名字,因为它会被加载,但不会显示在地址栏中。

因此,在实施这两条规则之后,您将获得:http://yoursitename.com/boat-repair/electrical-system-repair/在地址栏中,现在我只需要想办法删除尾随的斜杠。

这些规则当然放在了 htaccess 文件中。

为了使此操作有效,您必须在规则中命名文件夹,即使它们只是虚拟文件夹。如果是虚拟文件夹,请确保在每个文件夹中放置一个名为“请勿删除此文件夹”的文本文档,以便六个月后您不会查看这些空文件夹并删除它们!

我希望这可以帮助其他人在其网站上尝试实现这一点。

答案2

你可能已经尝试过这个了,但是...你的服务器是自托管的吗?如果是的话,请重启服务器,这可能会起作用,因为它可能不会显示硬盘上的文件,而是显示加载到内存中的文件

相关内容