具有QSA标志的IIS的htaccess mod_rewrite规则

时间:2015-10-13 15:22:14

标签: .htaccess mod-rewrite url-rewriting iis-8.5

适用于Windows Server 2012 R2版本6.2的IIS 8.5版

这个.htaccess规则正在我的本地开发工作,这是wamp

RewriteRule ^.*search/?(.*)$ /displayPage.php?page=search&%1 [QSA]

我将其导入IIS服务器并将其重写为:

Rewrite ^.*search/?(.*)$ /displayPage.php?page=search&{C:1}

现在,当我提交搜索时,显示的网址为:

  

http://example.com/search?keyword=sample+text&cat=1

页面加载500 error。当我禁用规则时,我得到404 error

编辑规则时,会检查附加查询字符串。

所以我添加了一个带有退出的var_dump和echo,以验证它是否到达displayPage.php。它没。

因此,导入的规则似乎没有正确配置。我该如何解决?

SOLUTION:

  1. 在IIS中打开编辑规则窗口
  2. 选择测试图案按钮
  3. 在字段中的测试模式窗口中输入数据到文本:search /?keyword = test + sample& cat = 123
  4. 结果显示R:1 =?keyword = test + sample& cat = 123
  5. 将规则从{C:1}修改为{R:1}
  6. 刷新页面,魔术继续!!!

    重写网址现在如下:/displayPage.php?page=search&{R:1}

0 个答案:

没有答案