HTML去掉url变量,NOPHP或者JS解决

HTML remove url variables, NO PHP or JS solution

我的网站同时使用 PHP 和 JS AJAX,所以我对它们都很熟悉,我不想要包含它们的解决方案。我有这样的页面结构,我的所有用户只停留在一个登陆 php 页面上,然后根据 URL 的 p 变量获取正确的内容。

http://www.example.com/?p=about
http://www.example.com/?p=aMap-anothermap-evenAnothermap-lastelyTheFile

这个页面结构对我来说非常有用,除了我不知道制作一个只删除整个 ?p=home 的 link 的正确方法。因为我希望我的 home/start 页面是可变的。我希望它是

http://www.example.com/

而不是

http://www.example.com/?p=home

现在我可以制作 link

http://www.example.com/?

然后只需删除带有 JS pushState()?,但这看起来很愚蠢,并且仅适用于 JS 用户。

假设我只想用 ? 做上面的例子,然后我可以像这样创建一个 link。

<a href="?">Link</a>
<script src="SomeCoolPushStateScript"></script>

而且我从经验中知道这根本行不通:

<a href="">Link</a>

所以问题来了:如何在使用 HTML href 时删除 URL 的 ?variable=something 部分?

路径 ./ 应该可以解决问题。

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

如果您想保留主脚本名称,例如 index.php,您必须包含该名称。

<a href="index.php">Link</a>

或者,您可以使用 PHP.

动态生成域相关或绝对 URL

您不需要使用查询字符串。

<a href="/">Link</a>

会转到 example.com 的根目录。

我不推荐使用 "./"。如果用户位于您网站根目录中的页面(例如 http://www.example.com/page.html),这将执行您想要的操作。但是,如果它们位于子目录中的页面上,这将不起作用。例如。如果用户在 http://www.example.com/hello/page.html,它只会 link 到 http://www.example.com/hello/

使用 "/" 确保用户转到您网站的根目录。