【问题标题】:IIRF URL rewrite to force www prefix: example.com -> www.example.comIIRF URL 重写以强制 www 前缀:example.com -> www.example.com
【发布时间】:2009-09-29 21:55:57
【问题描述】:

我正在尝试在 iirf 中做一些非常简单的事情。

我想要所有缺少 www 的请求。添加前缀。

这是我的 IsapiRewrite4.ini:

RewriteCond %{HTTP_HOST} ^example\.com$ [I]
RewriteRule ^(.*)$ www.example.com/$1 [R=301,L]

这是我的 SampleUrls.txt:

example.com
example.com/grants
www.example.com
www.example.com/grants

我将文件放在与 TestDriver.exe 相同的目录中,然后运行 ​​testdriver -d 。 所有测试都被忽略:

NO ACTION 'example.com' ==> --

NO ACTION 'example.com/grants' ==> --

NO ACTION 'www. example.com' ==> --

NO ACTION 'www. example.com/grants' ==> --

谢谢,

阿什利

【问题讨论】:

    标签: mod-rewrite url-rewriting iirf


    【解决方案1】:

    TestDriver 是一个独立的工具,用于测试 IIRF 的重写规则。不幸的是,该工具是有限的,因为它不能有效地评估测试服务器变量的条件。在基于控制台的独立应用程序中没有服务器变量。

    Check the doc。它是这样说的:

    请注意:TestDriver.exe 程序是一个有用的测试工具,但它不能也不能代替 Web 服务器环境中的实际测试。测试驱动程序不在 HTTP 服务器的上下文中运行,因此不适用于 HTTP 服务器变量。特别是,如果您在使用 TestDriver.exe 测试的 ini 文件中使用 RewriteCond,并且这些 RewriteCond 语句引用服务器变量(例如 %{HTTP_URL} 或 %{HTTP_REFERER}),则这些 RewriteCond 语句在 TestDriver 中的行为将不同它们在 ISAPI 中的行为方式。对此类条件的测试对于验证实际操作性能没有用处。

    【讨论】:

      【解决方案2】:

      您需要为替换指定一个绝对 URL。否则您的 www.example.com 将被视为路径段。

      RewriteCond %{HTTP_HOST} ^example\.com$ [I]
      RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
      

      【讨论】:

      • 嗨,Gumbo,我尝试了你的建议,但无济于事。 TestDriver 工具仍然不匹配任何测试。嗯...
      猜你喜欢
      • 2017-07-13
      • 1970-01-01
      • 2011-01-13
      • 2014-03-04
      • 2019-12-04
      • 2013-08-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-29
      相关资源
      最近更新 更多