一个晚一点但我只是从ISAPI重写版本2升级到版本3。

我有在下面的样式与规则的问题:

RewriteRule ^/seo-friendly/(\?(.*))? /test/index.cfm?page=home&$2 

在这里,我想传递给重写URL任何额外的查询字符串参数。

此工作得很好IR2下但无法通过在IR3额外参数。我同时具有正则表达式测试仪的.exe从每个版本公用事业所以我试图那些。

如果我输入 / SEO友好/你好=世界,IR2的正则表达式测试仪上显示 $ 1:你好=世界 $ 2:你好=世界 这是完美的。

但IR3的上显示 $ 0:/ SEO友好/ $ 1 $ 2 是空白

它看起来像我不能访问的查询字符串变量。

我发现在这个文档中提到的这个标志:

  

O(正常化)

     

加工前规一化的字符串。   归一化包括去除的   URL编码,非法字符,等等。   此外,IIS一个URI的正常化   彻底删除查询字符串。所以,   正常化不应若使用   需要查询字符串

但我还没有设置对我的规则,这个标志。有没有办法,我可以设置为阻止这种(表观)规范化全局规则?

有帮助吗?

解决方案

如果ISAPI重写工作几乎相同Apache的mod_rewrite,你应该只需要设置QSA标志:

RewriteRule ^/seo-friendly/$ /test/index.cfm?page=home [QSA]
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top