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]
据我了解,这表示:
- 条件:如果主机是
domain.com
或www.domain.com
- 规则:匹配任何内容或不匹配请求的 uri 并重定向到
https://domain.com.au/whatever-the-request-uri-is
但是当我使用 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/
...
我试图提高对 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]
据我了解,这表示:
- 条件:如果主机是
domain.com
或www.domain.com
- 规则:匹配任何内容或不匹配请求的 uri 并重定向到
https://domain.com.au/whatever-the-request-uri-is
但是当我使用 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/
...