html4浏览器上的mod_rewrite和history.js

时间:2011-12-15 11:05:44

标签: mod-rewrite jquery html4 history.js

我有一个类似的网站:

  

的http://*mysite.com/search/

in index.php 正为history.js生成History.pushState()

所以它看起来像:

  

http://*mysite.com/search/var1-var2-var3.html(html5)
  http://*mysite.com/search/#var1-var2-var3.html& _suid = * *(html4)

问题是:如何为html4版本的链接创建重写规则,是否可以使用此哈希键?

html5重写规则如下所示:

RewriteRule ^([^-]+)-([^-]+)-([^-]+).html$ index.php?var1=$1&var2=$2&var3=$3 [L]

1 个答案:

答案 0 :(得分:0)

不是,在mod_rewrite中不可能使用这个哈希键。

mod_rewrite对于在html4 html中捕获这些变量没有帮助,因为哈希标记之后的所有内容都不会被发送到服务器。如果您只更改哈希标记并在哈希标记之前保留相同的URL,则服务器甚至不会被命中。

所以,你需要使用javascript解析url的这一部分,然后通过ajax发送你的命中。发送到服务器的URL对于html4和html5可以是相同的。