锚HREF,如果我再次单击锚,地址上的链接会加倍或连接到现有链接上.什么';避免这种情况的最好方法是什么


Anchor HREF, if I click again the anchor the link on the address doubles or it concatenate on the existing link. What's the best way to avoid this?

祝您愉快!我在PHP上遇到了一些麻烦。如果我单击一个href,即<a href = 'members/loans/loan-application-form.php'>,它会转到loan-application-form.php,但如果我在loan-application_form.php内部再次单击它(因为它位于所有页面中存在的导航栏上(,则锚的href会连接到现有的url上,它会创建一个错误,告知地址不存在。我已经知道问题是它搜索当前目录上的地址,可能会返回错误,因为目录上没有现有地址,因为它是源或父目录。避免这种情况的最佳方法是什么?

在页眉中添加一个base标记。这将在所有HTML URL的前面加上给定的基本URL。(包括图像、CSS和JS调用(

<head>
    <base href="http://www.yourdefaulturl.com/">
</head>

然后您的URL将是http://www.yourdefaulturl.com/members/loans/loan-application-form.php

您可以使用绝对路径

<a  href = 'http//your.site.cpm/members/loans/loan-application-form.php'>

建议:你可以阅读这篇文章

或者这个堆栈问题

或者,您可以使用../相对路径内导航

假设您的导航栏位于/navigation/navbar.html

然后你可以有一个像这样的相对路径

<a  href = '../members/loans/loan-application-form.php'>

通过指定这样的相对URL:

<a  href = 'members/loans/loan-application-form.php'>

您只是简单地表示希望从当前页面转到该页面,因此它被添加到当前URL的末尾。避免这种情况的最好方法很简单,就是设置一个绝对的URL,如下所示:

<a  href = 'http://projectname/members/loans/loan-application-form.php'>

即使不使用http://,它通常仍然被认为是相对的,所以一定要包括它。

另一种同样但稍微快一点的方法是在头文件中添加一个变量,例如:

$url = 'http://example.com';

然后当指定URL时,你可以说:

<a  href = '<?php echo $url;?>/members/loans/loan-application-form.php'>

这只是意味着,如果你说更改你的域,而不是编辑每个URL,你可以简单地编辑变量值并使用它