2011-03-01 26 views
1

我试图找出一些东西,但似乎无法找到原因,我相当自信这是愚蠢的,所以我张贴在这里得到一点的帮助。哈希标记删除漂亮的url部分

我正在使用URL重写将URL重定向到正确的页面。其实,我唯一的规则是:

RewriteBase /~bart/website 
RewriteRule ^([a-zA-Z0-9_/\-\+|]+)$ index.php?m=$1 [L,QSA] 

其中几乎所有索引,这是很好的,因为这是该系统是如何工作的重定向。

现在我把这个网址:

http://localhost/~bart/website/admin/list_content/edit/activiteit/1 

这一个效果很好,但随后而来的问题。

返回的页面包含一个带有3个选项卡的jQuery UI标签。选项卡标题由<a href="#tab1">Tab1</a>这样的链接组成,这是jquery UI选项卡的标准格式,它没有什么特别之处。唯一的问题是,点击这些线索到:

http://localhost/~bart/website/#tab1 

这是我的浏览器眼中的不同的页面,因此它的旧的网页上加载新的页面(我的主页),而不是一个新的标签。

我不能为了我的生活找出它的原因和任何帮助将不胜感激。

+0

为什么浏览器根本就向服务器发送请求?像'#tab1'这样的链接应该让他跳到名为'tab1'的锚点。 JQuery可能拦截了点击,但它不应该请求服务器,至少不会在URL中使用散列标记。 – rik 2011-03-01 13:13:16

+0

我们可以看到完整的html代码片段。 jQuery Tab实际上是否可视化工作? – Andy 2011-03-01 13:24:51

回答

1

这是一个疯狂的猜测,但也许你的HTML中有<base href="http://localhost/~bart/website/" />?这可能会混淆浏览器。

+0

似乎你疯狂的猜测是完全正确的。我已经准时把它放在那里,然后完全忘记了它(大量的html),它似乎在这里给出了一些问题。 – Aeolun 2011-03-01 13:39:36

0

如果您有一个HTML标签(用于css和脚本的相关URL),那么您的相对URL是相对于标签的url而不是当前页面的url。

在href中使用绝对URL。