htaccess 测试工具的准确性

Accuracy of htaccess testing tools

我试图提高对 htaccess 重写规则的理解,并使用了几个在线测试工具来验证我所做的简单重写,但我不明白为什么返回的 url 会重复。我在质疑我的规则是否错误,这个工具是否存在固有错误?

我想做的就是将对 .com 域的所有请求重定向到 .com.au 域上的同一页面。

RewriteCond %{HTTP_HOST} ^domain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain\.com$
RewriteRule .? "https://domain.com.au%{REQUEST_URI}" [L,R=301]

据我了解,这表示:

但是当我使用 https://htaccess.madewithlove.be 进行测试时,返回的 url 重复 https://domain.com.au/bloghttps://domain.com.au/bloghttps://domain.com.au/blog... 但是在 Web 服务器上它似乎工作正常。

我尝试的另一个规则是:

RewriteRule ^(.*)$ https://domain.com.au/ [R=301,L]

这 returns 使用测试工具的一个正确结果,但我读到最好使用服务器变量。

我的第一条规则有问题还是那个测试工具坏了?

这根据我的测试有效:

RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$
RewriteRule ^ https://example.com.au%{REQUEST_URI} [L,R=301]

不过,我目前无法解释为什么您自己的尝试没有成功。对不起!我的印象是这确实是测试实用程序中的错误,假设您使用 https://htaccess.madewithlove.be/ ...