所以我从this handy guide中学到了如何使用 .htaccess
将漂亮的 URI(例如 foobar.com/baz
)重定向到可能位于 foobar.com/bazheader345.php?user=baz 的特定内容
。
如果我想做相反的事情怎么办?我的 anchor 是静态的,但我在不同的文件中有很多内容——而且它们都没有特别漂亮的名字。假设我在 foobar.com
上有一个名为 123.html
的页面,并且希望地址栏保持 http://foobar.com
< em>尽管用户在文件之间导航。
这可以通过更改 .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>
如果您不想重命名您的原始主页,您可以改为粘贴 DirectoryIndex
directive在您的 .htaccess
文件中。只需将上面的代码保存在 frame.html
中,将 home.html
更改为索引所在的任何文件名,然后添加:
DirectoryIndex frame.html
到您的 .htaccess
文件。
但是,您应该知道,这种做法在 10 多年前就已经过时了,因为它存在内在问题。它不会破坏您的历史记录,但会破坏 deep linking (也就是说,不能添加书签或链接到主页以外的任何内容)。
更多信息:
关于javascript - 我可以在不重定向的情况下重写 URL 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3664876/