我的网站同时使用PHP和JS AJAX,因此我非常熟悉它们,而且我不想要包含它们的解决方案。我有这个页面结构,我的所有用户都只在一个着陆的php页面上,然后根据URL的p变量获取正确的内容。
http://www.example.com/?p=about
http://www.example.com/?p=aMap-anothermap-evenAnothermap-lastelyTheFile
这个页面结构对我很有用,除了我不知道创建一个只删除整个?p=home
的链接的正确方法。因为我希望我的家/起始页是可变的。我希望它是
http://www.example.com/
而不是
http://www.example.com/?p=home
现在我可以建立链接
http://www.example.com/?
然后只需使用JS ?
删除pushState()
,但这看起来很傻,只适用于JS用户。
让我们说我想要只用?
做上面的例子然后我可以创建这样的链接。
<a href="?">Link</a>
<script src="SomeCoolPushStateScript"></script>
我从经验中知道,这甚至不起作用:
<a href="">Link</a>
所以问题是:如何在使用HTML ?variable=something
时删除网址的href
部分?
答案 0 :(得分:2)
路径./
应该可以解决问题。
<a href="./">Link</a>
如果要保留主脚本名称,例如index.php
,则必须包含该名称。
<a href="index.php">Link</a>
或者,您可以使用PHP动态生成域相对或绝对URL。
答案 1 :(得分:1)
您不需要使用查询字符串。
<a href="/">Link</a>
会转到example.com的根目录。
我不建议使用"./"
。如果用户位于您网站根目录中的页面上(例如http://www.example.com/page.html
),则可以执行此操作。但是,如果它们位于子目录中的页面上,则不起作用。例如。如果用户在http://www.example.com/hello/page.html
上,则只会链接到http://www.example.com/hello/
。
使用"/"
可确保用户访问您网站的根目录。