gpt4 book ai didi

apache - 使用 .htaccess 中选定的查询字符串参数重写 URL

转载 作者:行者123 更新时间:2023-12-03 21:35:14 27 4
gpt4 key购买 nike

我最近更改了我的 CMS,并且想要重写我的一些 URL 以匹配新的 URL/查询字符串参数格式。

旧网址是:

http://www.mysite.com/search.cgi?tag=foo&blog_id=bar&other=baz

新网址应为:
http://www.mysite.com/?s=foo

换句话说,旧格式中有几个查询字符串参数,但我只关心重写 标签 参数为 s 同时保持相同的值。其他参数应该被丢弃。当然,参数的顺序应该无关紧要。 tag 是否是唯一的参数也无关紧要。

有任何想法吗?

最佳答案

如果您的服务器支持,您可以尝试使用正则表达式和分组。如果我没记错的话,您只需要重写一个参数,我想您可以尝试类似的操作(如果您使用带有 mod_rewrite 的 apache):

RewriteCond %{QUERY_STRING} ^.*(\btag\b=(\w+|&\w+;)+)
重写规则 ^(.+)/$1?%1 [L]

编辑:我稍微改进了正则表达式以匹配“标签”,无论它在查询字符串中的位置如何,并保留特殊字符序列,例如 &此外,它应该避免与类似参数的匹配(即:它不会匹配名为“alttag”的参数)。

编辑 #2:另一种方法(尤其是当您必须过滤多个参数时)是使用外部程序进行重写。本页:http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritemap (特别是“外部重写程序”部分)包含有用的信息。

关于apache - 使用 .htaccess 中选定的查询字符串参数重写 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2111182/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com