在href的开头没有“/”的链接练习

时间:2012-02-10 02:18:13

标签: html hyperlink href

我使用这个重写代码能够像这样http://page.com/subpage进行链接,但仍然使用html文件,如http://page.com/subpage.html(所有html文件都位于根文件夹中)。

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.html [NC,L]

这样的菜单(在子页面上没有“/”)是不错的做法?

<a href="/">Home</a>
<a href="subpage-1">Subpage 1</a>
<a href="subpage-2">Subpage 2</a>
<a href="subpage-3">Subpage 3</a>

如果没有“/”链接是可以的,链接“主页”链接的最佳方式是什么?

这是我计划作为菜单使用的内容(如果你有任何原因,请告诉我为什么不这样做):

<a href="/">Home</a>
<a href="subpage-1">Subpage 1</a>
<a href="subpage-2">Subpage 2</a>
<a href="subpage-3">Subpage 3</a>

3 个答案:

答案 0 :(得分:1)

由于您稍后可能会实施重定向,因此使用subpage-1网址并不是一个好习惯。如果您坚持在文件夹中工作,则可以使用./subpage-1./作为主页链接。

答案 1 :(得分:0)

我通常会在这种情况下做出一切绝对的事情(假设你合情合理),只是因为你的混淆可能性太高。如果你把事情做成相对的话,你就会得到一个错误的保证。

如果你的项目是30多页,那么我肯定会重新思考,如果你使用某种脚本语言(PHP,ASP等),你应该利用它来让你的工作更轻松。

答案 2 :(得分:0)

我始终将/保留在这样的任何href之前。


使用相对路径是一个不好的习惯,以及随后的灾难处方。如果你从相对网址开始,并发现你以后需要它们,那么添加它将是一件很大的痛苦。每个链接有一个额外的字符不是世界末日。

假设我有一个包含这2页的网站:

/home/ryan/example.com/index.html
/home/ryan/example.com/public.html

每个的html内容都是一样的:

index.html &amp; public.html

<a href="/">Home</a>
<a href="/public">Public</a>

现在,如果我想添加一个新文件,/home/ryan/example.com/special/secret.html我可以重复使用现有代码,甚至添加一个新链接,同时仍然使相同的代码适用于所有3个页面:

所有html网页

<a href="/">Home</a>
<a href="/public">Public</a>
<a href="/special/surprise">Surprise</a>

考虑在路上进行维护,并考虑你未来的懒惰。能够重用代码是重点;你不想添加/编辑/删除多达15个地方的略有不同的链接,甚至2个地方太多了!