内部锚点和链接有问题

时间:2009-12-18 01:10:00

标签: apache xhtml .htaccess anchor

我已经建立了一个宣传品类型的网站 - 链接到页面中的不同部分。

http://www.leoniepalmer.com/

点击右上角的菜单项时,一切都很棒!

现在我有第二页

http://www.leoniepalmer.com/our-gourmet-tours/

我希望菜单然后回到相关锚点,即点击关于将转到

http://www.leoniepalmer.com/#about

不幸的是(至少在FF 3.5.6中),似乎将它附加到URL并且它变得非常丑陋,并且不会到达它应该的位置!

是不是我的.htaccess中的这个规则,会在没有一个的页面上附加一个尾部斜杠?

   # Add trailing slash if missing
rewriteRule ^(([a-z0-9\-]+/)*[a-z0-9\-]+)$ $1/ [NC,R=301,L]

我怎么能修改它才能发挥作用,或者还有什么在这里发挥作用?

更新

我认为答案根本没有用。

您可以使用#anchor片段链接到ID。

1 个答案:

答案 0 :(得分:1)

好的,我猜这是因为您使用<div>标记作为链接的目标。 正确地,作为链接到页面中某个位置的目标的命名标记也是<a>标记,您的语法类似于 <a name="about">About Leonie and Stef Palmer</a>

这是来源:

source

This creates an anchor around the text "This is the location of anchor one.". Usually, the contents of A are not rendered in any special way when A defines an anchor only.

Having defined the anchor, we may link to it from the same or another document. URIs that designate anchors contain a "#" character followed by the anchor name (the fragment identifier). Here are some examples of such URIs:

An absolute URI: http://www.mycompany.com/one.html#anchor-one
A relative URI: ./one.html#anchor-one or one.html#anchor-one
When the link is defined in the same document: #anchor-one

为了安全起见,您可能希望将导航栏中的链接设为完整文档:

<a href="http://www.leoniepalmer.com/index.php#about">About</a>

这不仅是上述用例之一,它还为Apache节省了一些工作。包括完整路径让浏览器直接进入页面,而不包括文档名称意味着浏览器必须在服务器上询问Apache的页面名称然后去那里 - 2个连接价格为1