我想使用 .htaccess 文件中的 RewriteRules 将每个请求重定向到 root(稍后我会将它们复制到 vhost 文件)。我尝试了以下方法:
RewriteRule ^(.*)$ http://test.example.com/ [R=301,L]
这有效,但显然会产生无限循环。我想我需要一个排除根的 RewriteCond。所以我尝试了类似这样的方法:
RewriteCond %{REQUEST_URI} !^/
RewriteRule ^(.*)$ http://test.example.com/ [R=301,L]
但遗憾的是,这似乎不起作用。我已经搜索了一段时间,但我只遇到了删除或添加每个 URL 斜线的 RewriteRules(我不想要)。非常感谢您的帮助。
我在 Linux 机器上使用 Apache2 + mod_rewrite。
答案1
我想这可能更像是 serverfault 的问题。根只是一个 /。所以你必须告诉它以 / 开头^/
,并且它紧随其后结束,所以你必须添加一个 $,从而引出下一行。
RewriteCond %{REQUEST_URI} !^/$