2013-08-01 77 views
0

我有这个奇怪的URL使用html href属性的问题。顺便说一下,我正在使用laravel。 我给你举个例子,让我们说我有这样的代码在我的网站 <a href="link1"></a>和我目前的网址是localhost/example/example 而不是增加链接到我的地址,这样localhost/example/example/link1它只是增加了它这样localhost/example/link1基本上它删除去一个链接回到一个href和url问题

我尝试使用<a href"/link1"></a>代替,但它只是消除这样localhost/link1

我试图寻找出了什么问题,但我找不到任何所有的路径。我很强硬,也许它必须使用.htaccess或laravel urls做些事情,但我不知道如何解决这个问题(或者它可能需要使用Apache)。我只是需要它会正常添加链接到URL。

另外我不能使用laravel URL :: request,因为我使用JavaScript来生成动态内容。

谢谢

+0

你有一个基础URL在HTML设置?这会产生这种效果。 – Brilliand

回答

1

http://localhost/是你的域名。

如果你在http://localhost/example/<a href="link1">,应该指向your domain + link1

如果你的应用是在/例子/,我建议你看看一个基本标签:

http://www.htmlquick.com/reference/tags/base.html

因此,假设您有以下基本标签,因为您的应用程序位于/ example /中:

<base href="http://localhost/example/">

这将使http://localhost/example/,您的链接和形式的基础。

<a href="link1">将打开http://localhost/example/link1

<form method="post" action="link2">将张贴到http://localhost/example/link2

看一看链接在HTML中是如何工作的: http://www.w3.org/TR/REC-html40/struct/links.html

0

尝试使用

网址::到( 'someseg/otherseg')

+0

我说我不能使用URL :: to,因为我使用JavaScript生成大陆我不能使用php,只有JavaScript或HTML。 – Andrius

+3

然后,也许这个问题应该被标记为JavaScript而不是PHP ... – Brilliand

0

此行为是由HTML页面中的headbase元件来控制。您可以使用JavaScript检索此值(document.getElementsByTagName("base")[0].href)。如果您还检索页面网址的相关部分(window.location.pathname),则可以使用这两个值执行操作,将链接更改为表现您的期望。

简单地将链接改为绝对,前置window.location.pathname + "/"就可以了。