php - 使用 mod_rewrite 将参数附加到查询字符串

标签 php apache .htaccess mod-rewrite

我想使用 mod_rewrite 将参数附加到查询字符串的末尾。我知道我可以使用 [QSA] 标志来执行此操作。

但是,我希望仅在查询字符串中不存在该参数时才附加该参数。所以,如果查询字符串是:

http://www.mysite.com/script.php?colour=red&size=large

我希望将上面的 URL 重定向到

http://www.mysite.com/script.php?colour=red&size=large&weight=heavy

只有当这个特定参数一开始就不存在时,weight=heavy 才会附加到查询字符串的末尾!如果特定参数已在 URL 中,则不需要重定向。

有人可以建议我的 .htacess 文件中可以执行此操作的代码吗?

最佳答案

编辑:测试并修改了它,现在它对我有用了

如果根本没有权重,我假设您想添加一个默认权重参数:

RewriteEngine on
RewriteBase /
RewriteCond %{QUERY_STRING} !weight=
RewriteRule ^script.php     script.php?weight=heavy [R,L,QSA]

这与@coreyward 的回答基本相同,但更具体一些。 (R标志,使变化可见,权重参数不必重。)

希望这对您有所帮助!

关于php - 使用 mod_rewrite 将参数附加到查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4887749/

相关文章:

php - 如何搜索序列号中的模式?

php - fancybox 上的图像翻转效果

java - Tomcat server.xml 文档库无效

apache - 通过引用传递 ANT 参数

regex - .htaccess 多重重写条件和规则

php - 如何使用动态单选按钮将数据从表单插入数据库..?

php - 连接静态变量上的内容

php - httpd 不会以为 php 添加的行开始

php - 在 mod_rewrite 中允许百分比 (%) 符号?

javascript - 内容安全政策能否与 Google Analytics 和 AdSense 兼容?