dongzhi5587 2016-05-22 13:18
浏览 7

任何人都可以解释这个mod改写给我吗?

Here are the rules:

RewriteRule ^two$ show.php?id=1

So what is the output when you go to : two?id=2

$_GET['id'] equals 1 or 2?

I run the script, the answer is 1. But I don't understand why? Can anyone explain this to me?

  • 写回答

1条回答 默认 最新

  • du970294 2016-05-22 14:51
    关注

    Apache ignores URL parameters for RewriteRule:

    https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule

    The Pattern will initially be matched against the part of the URL after the hostname and port, and before the query string.

    If you wish to match against the hostname, port, or query string, use a RewriteCond with the %{HTTP_HOST}, %{SERVER_PORT}, or %{QUERY_STRING} variables respectively.

    Therefore two?id=2 is matched by your rule as the URL is ^two$ and so is set to show.php?id=1 and note that the existing query string is replaced when a new one is given as per above link:

    Modifying the Query String By default, the query string is passed through unchanged. You can, however, create URLs in the substitution string containing a query string part. Simply use a question mark inside the substitution string to indicate that the following text should be re-injected into the query string. When you want to erase an existing query string, end the substitution string with just a question mark. To combine new and old query strings, use the [QSA] flag.

    评论

报告相同问题?

悬赏问题

  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP