首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重写以追加到查询字符串

重写以追加到查询字符串
EN

Stack Overflow用户
提问于 2013-04-11 07:59:07
回答 1查看 13.5K关注 0票数 5

我不明白为什么我总是在重写规则时遇到这么大的问题,但我只是想在查询字符串存在的情况下添加一个查询字符串,如果查询字符串不存在则添加一个?。实际上,我并不关心URL是否在浏览器中更改--它只需要加载正确的目标页面。

代码语言:javascript
复制
RewriteRule /cia16(.*)\?(.*) /cia$1?$2&CIA=16
RewriteRule /cia16(.*) /cia/$1?CIA=16

如果我转到/cia16/steps.php?page=1,它实际上被重写为/cia/steps.php?CIA=16 --也就是说,似乎接受查询字符串部分在重写过程中甚至不被视为URL的一部分。

我必须做什么才能使重写与现有的查询字符串一起正常工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-11 08:05:31

不能匹配RewriteRule中的查询字符串,需要匹配RewriteCond中的%{QUERY_STRING}变量。但是,如果您只想附加查询字符串,则可以只使用QSA标志:

代码语言:javascript
复制
RewriteRule /cia16(.*) /cia/$1?CIA=16 [QSA]

URI:/cia16/steps.php?page=1将被重写为/cia/steps.php?CIA=16&page=1。如果出于某种原因,您需要在CIA=16之前使用page=1,那么您可以这样做:

代码语言:javascript
复制
RewriteRule /cia16(.*) /cia/$1?%{QUERY_STRING}&CIA=16
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15938598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档