IIRF URL 重写以强制 www 前缀:example.com -> www.example.com

发布于 2024-08-06 19:05:56 字数 622 浏览 10 评论 0原文

我正在尝试在 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' ==> --

谢谢,

阿什利

I'm trying to do something pretty simple in iirf.

I want all requests that are missing the www. prefix to have it added.

This is my IsapiRewrite4.ini:

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

This is my SampleUrls.txt:

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

I place the files in the same directory as TestDriver.exe, and run testdriver -d .
All the tests are ignored:

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

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

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

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

Thanks,

Ashley

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

窝囊感情。 2024-08-13 19:05:56

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

查看文档。它是这样说的:

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

The TestDriver is a standalone tool to test rewrite rules for IIRF. Unfortunately, the tool is limited, in that it cannot effectively evaluate conditions that test Server variables. There are no server variables in a standalone console-based application.

Check the doc. Here's what it says:

Please note: the TestDriver.exe program is a useful testing tool, but it does not and cannot replace actual testing in the context of a web server. The testdriver does not run within the context of an HTTP server, and so does not work with HTTP Server variables. In particular, if you use RewriteCond in the ini files that you test with TestDriver.exe, and those RewriteCond statements reference Server variables (eg %{HTTP_URL} or %{HTTP_REFERER}) , those RewriteCond statements will not behave in the TestDriver the same way they will behave in an ISAPI. Tests of such conditions will not be useful in verifying actual operational performance.

旧情别恋 2024-08-13 19:05:56

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

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

You need to specify an absolute URL for the substitution. Otherwise your www.example.com is treated as path segment.

RewriteCond %{HTTP_HOST} ^example\.com$ [I]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文