0

例如:我的网站是 www.mydomain.com

页面上唯一的东西是

<h1>Category</h1>

当用户输入网址 www.mydomain.com/sports 时,我希望加载 www.mydomain.com 页面(有或没有 /sports 路径,最好始终保持相同的 URL)并知道用户使用 URL www.mydomain.com/sports 访问该页面以到达那里。

在这一点上,我可以使用 javascript 来改变

<h1>Category</h1>

<h1>Sports</h1>

我可以将页面 www.mydomain.com/sports 重定向到 www.mydomain.com,但是这样做时 URL 会发生变化,并且我无法检测到最初用于在那里导航的页面 URL (www.mydomain.com /sports) 使用 javascript: http://www.w3schools.com/jsref/obj_location.asp因为它返回没有路径的新页面 URL。

我希望有一个非 PHP/.htaccess 解决方案。

更新:

我求助于使用 htaccess 来解决问题,比预期的要容易实现。

这是我使用的,以防其他人发现这很有用

.htaccess 文件(上传到您希望使用它的站点上的目录,在我的示例中,这将是主目录)

<ifModule mod_rewrite.c>
RewriteEngine On 
RewriteBase / ****start at/find the root directory 
RewriteRule ^(/sports|sports/)$ index.html [NC,L] ****find and clear index.html from URL if the extension is mydomain.com/sports or mydomain.com/sports/
</ifModule>
4

2 回答 2

1

看看这个插件。 http://html5doctor.com/history-api/ History.js 此插件允许您将新 URL 推送到浏览器的历史记录(以跨浏览器兼容的方式),而无需实际刷新页面。

因此,您的方法如下。

  1. 项目清单
  2. 加载时,获取 window.location 以获取“运动”
  3. 将 www.mydomain.com 推送到历史堆栈(使用 history.js)
  4. 将 h1 更改为“运动”。

这种方法的唯一问题是,如果有人试图为页面添加书签,则不会是他们上次导航到 URL 时遇到的内容。然而,这可能是您在问题中提出的重点。

于 2013-10-25T19:28:06.627 回答
0

您的服务器端代码应该使用添加一个 setCookie 标头,该标头具有您要显示的类别的值。然后您的 javascript 代码可以获取 cookie 并适当地设置字段。

于 2013-10-25T19:31:41.867 回答