我可以在不重定向的情况下重写URL吗?
所以我从this handy guide了解到如何使用.htaccess
将像foobar.com/baz
这样漂亮的URI重定向到可能驻留在foobar.com/bazheader345.php?user=baz
的特定内容。我可以在不重定向的情况下重写URL吗?
如果我想做相反的事情该怎么办?我的锚是静态的,但我在不同的文件中有很多内容 - 而且他们都没有特别漂亮的名字。假设我有一个页面foobar.com
,名为123.html
,并希望地址栏保持http://foobar.com
,尽管用户执行的文件之间的导航。
这可以通过更改.htaccess
?或者干脆使用Javascript?
如果它是可能,它会干扰浏览器的历史状态吗?
这真的很容易处理HTML frames。假设您的主页是http://example.com/index.html
。保存index.html
为home.html
并保存像下面这样在index.html
:
<html>
<head>
<title>Website title</title>
</head>
<body>
<iframe src="home.html" width="100%" height="100%" frameborder="0" scrolling="no" />
</body>
</html>
如果你不想重命名原来的主页,你可以代替你的.htaccess
文件贴DirectoryIndex
directive。只保存在,比方说,frame.html
上面的代码,改变home.html
到任何文件名的指数为:增加
DirectoryIndex frame.html
您.htaccess
文件。
但是,您应该知道这种做法在10年前已经过时了,因为它存在固有的问题。它不会破坏你的历史记录,但它会打破deep linking(也就是说,除了主页以外,不能书签或链接到其他任何东西)。
更多信息:
你会好得多创造了所有其他网页漂亮的名字,让你让你的用户链接至或书签那些其他网页....或保持丑陋的网址,不用担心。
保持相同的URL,并显示不同的内容违背了一个网址,这将是一个唯一地址为一组特定的信息的全部目的。
我接受了马克特拉普的后代答案,因为它提供了一种方法来实现有关目标,但是,对于记录而言,你是对的。 – 2010-09-08 06:51:06
我同意。虽然保持一致的URL或多或少是可能的,但它通常不是一个好主意。 – 2010-09-08 05:44:23