【发布时间】:2021-10-22 02:07:36
【问题描述】:
我试图提高对 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... 一样重复
但是在网络服务器上它似乎工作正常。
我尝试的另一条规则是:
RewriteRule ^(.*)$ https://domain.com.au/$1 [R=301,L]
这会使用测试工具返回一个正确的结果,但我读到最好使用服务器变量。
那么我的第一条规则有问题还是那个测试工具坏了?
【问题讨论】:
标签: apache .htaccess redirect mod-rewrite