html4 浏览器上的 mod_rewrite 和 History.js

发布于 2024-12-21 03:46:19 字数 593 浏览 2 评论 0原文

我有一个类似的网站:

http://*mysite.com/search/

中的 index.php 正在为 history.js

所以它看起来像:

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]

I have a site like:

http://*mysite.com/search/

in it index.php is generating History.pushState() for history.js

so it looks like:

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

problem is: how to create a rewrite rule for html4 version of the link, is it possibile with this hash key?

html5 rewrite rule looks like this:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浮华 2024-12-28 03:46:19

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

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

因此,您需要使用 javascript 解析 url 的这一部分,然后通过 ajax 发送您的点击。发送到服务器的 url 对于 html4 和 html5 可以是相同的。

Not, it's not possible to use this hash key in mod_rewrite.

mod_rewrite will be of no help to capture those vars in html4 html, because everything after the hash mark won't be sent to the server. If you change just the hash mark and keep the same url before the hash mark, the server won't even be hit.

So, you need to parse this part of the url using javascript and then send your hit through ajax. The url sent to the server can be the same for html4 and html5.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文