我使用这个重写代码能够像这样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>
答案 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个地方太多了!