根据用于访问您的域的URL更改页面内容

时间:2013-10-25 19:22:28

标签: javascript jquery

例如:我的网站是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,但是当这样做时,网址会发生变化,我无法检测到最初用于导航的网页网址(www。 mydomain.com/sports)使用javascript:http://www.w3schools.com/jsref/obj_location.asp,因为它返回没有路径的新网页网址。

我希望有一个非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>

2 个答案:

答案 0 :(得分:1)

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

因此,您的方法如下:

  1. 列表项
  2. 在加载时,获取window.location以获取“Sport”
  3. 将www.mydomain.com推送到历史堆栈(使用history.js)
  4. 将h1更改为“Sport”。
  5. 这种方法的唯一问题是,如果有人试图为页面添加书签,则它不会是他们上次导航到URL时遇到的内容。然而,这可能是你在问题中提出的要点。

答案 1 :(得分:0)

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