我正在编写一个网站,该网站大量使用AJAX为使用JavaScript的用户加载页面,但我也希望它对于禁用或禁用JavaScript的用户友好。我已经涵盖了所有的基础知识;例如,我的所有链接都指向规范链接,JavaScript通过AJAX加载它们。因此,我的“关于”页面位于/ about /,但会加载到主页面上,一旦完成,将使用hash / hashbang链接启用后退按钮功能。
这就是我遇到的问题:虽然使用JavaScript的用户尝试将没有它的人链接到页面,但是哈希/ hashbang链接将能够用于通过AJAX链接到特定页面,使用AJAX无法为该人加载页面。
因此,如果可能的话,我希望能够使用.htaccess将hash / hashbang指定的页面重定向到规范链接。换句话说,与this contributer was trying to achieve完全相反。
是否可以使用.htaccess,或者没有 JavaScript?如果是这样,怎么样?
谢谢!
答案 0 :(得分:2)
我认为不可能在服务器端执行此操作。因为#之后的url部分未包含在发送给服务器的请求中。
答案 1 :(得分:1)
在这个问题上我可能会迟到一点,但我也在研究这个问题。由于您的网址已包含#!而不是#,因此您实际上可以执行此操作。谷歌将获取
http://example.com/#!about
作为
http://example.com?_escaped_fragment_about
因此,如果您在其上使用重定向301,并使用javascript重定向仅用户版本的页面,那么您几乎已达到所需的结果。
我意识到你要求一个没有javascript的解决方案,但我认为这是出于SEO的原因。有关详情,请参阅谷歌的this页面。
编辑:
<meta http-equiv="refresh" content="5; url=http://example.com/">
关于元刷新here的更多内容。
有:
1) Does not require javascript!
-
2) Can be Seo friendly!
-
3) Works with bookmarks and history (etc.)
我希望这有帮助!