如何使用 mod_rewrite 检查查询字符串中的编码或未编码字符

发布于 2025-01-02 04:57:31 字数 443 浏览 1 评论 0原文

我希望查询字符串 ?:hizzah=blah 的 mod_rewrite 规则重定向到 brouahaha.html

我尝试了以下操作:

RewriteCond %{QUERY_STRING} :hizzah=blah
RewriteRule .* brouahaha.html

注意 hizzah 前面的冒号。

问题:如果冒号被编码,这不起作用。即 example.com?:hizzah=blah 有效,但 example.com?%3Ahizzah=blah 无效。

我知道使用冒号可能是一个坏主意,因为它是一个保留字符,但目前它是不可协商的。一定是这样的。

允许冒号是纯格式或编码的最干净的 mod_rewrite 方法是什么?

I want mod_rewrite rules for query string ?:hizzah=blah to redirect to brouahaha.html

I tried this:

RewriteCond %{QUERY_STRING} :hizzah=blah
RewriteRule .* brouahaha.html

Note the colon in front of hizzah.

The problem: this does not work if the colon is encoded. i.e. example.com?:hizzah=blah works but example.com?%3Ahizzah=blah does not.

I know having the colon is probably a bad idea because it's a reserved character, but its non-negotiable for now. It has to be this way.

What's the cleanest mod_rewrite way to allow the colon to be either plain or encoded?

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

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

发布评论

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

评论(1

递刀给你 2025-01-09 04:57:31

尝试

RewriteCond %{QUERY_STRING} (:|\%3A)hizzah=blah [NC]
RewriteRule ^ brouahaha.html [L]

Try

RewriteCond %{QUERY_STRING} (:|\%3A)hizzah=blah [NC]
RewriteRule ^ brouahaha.html [L]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文