根据用于访问您的域的 URL 更改页面内容
Change page content according to what URL is used to access your domain
例如:我的网站 www.mydomain.com
页面上唯一的东西是
<h1>Category</h1>
当用户输入 url 时 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 会发生变化,并且我无法检测到最初用于使用 javascript: http://www.w3schools.com/jsref/obj_location.asp 导航的页面 URL(www.mydomain.com/sports),因为它返回没有路径的新页面 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>
看看这个插件。http://html5doctor.com/history-api/历史.js此插件允许您将新 URL 推送到浏览器的历史记录(以跨浏览器兼容的方式),而无需实际刷新页面。
因此,您的方法如下。
- 列表项
- 加载时,获取窗口位置以获取"运动"
- 将 www.mydomain.com 推送到历史记录堆栈上(使用历史记录.js)
- 将 h1 更改为"运动"。
这种方法的唯一问题是,如果有人尝试为页面添加书签,则不会是他们上次导航到 URL 时遇到的内容。 然而,这可能是你在问题中提出的重点。
您的服务器端代码应使用 add 一个 setCookie 标头,该标头具有要显示的类别的值。然后你的javascript代码可以获取cookie并适当地设置字段。
- 我如何设置HTTP头“;访问控制允许起源”;用于来自thttpd web服务器的HTTP响应
- 可访问的更改菜单项,用于使用不引人注目的JS进行导航,而不是jQuery,
- 从函数属性访问对象属性;不适用于Firefox
- 如何将访问令牌用于Facebook Opengraph javascript SDK api请求
- 用于JavaScript的ArcGIS API,NS_ERROR_DOM_BAD_URI:拒绝访问受限URI
- 根据用于访问您的域的 URL 更改页面内容
- 用于访问父范围的控制器层次结构异常:AngularJS
- 用于访问 Steam 军团要塞 2 帐户信息的脚本
- 用于访问或克隆 github 存储库的 JS 库
- FlowJS示例,用于循环访问Angular控制器中的文件
- Setter 函数用于动态访问数组中的字段,该数组是一个属性
- Javascript函数,用于记住用户在其先前的访问权限中从一组下拉菜单选项中选择的内容
- Facebook Graph API - 用于离线访问(弃用)的访问令牌
- 是否有用于访问Alchemy Data News API的javascript/Node.js库
- HTTP动词POST用于访问路径'& # 39;在IIS 7中不允许
- 在JavaScript中更改函数上下文(用于访问局部变量)
- Javascript TypeError:变量是未定义的,仅用于访问索引
- Require.js用于访问函数
- 检测链接是否用于访问页面
- Javascript的性能.vs varname.用于访问属性