【发布时间】:2010-10-06 22:32:53
【问题描述】:
我正在尝试创建一个重写规则来完成两件事:
- 将
(www.)?domain.com重定向到log.domain.com - 让 domain.com 上的任何其他目录或文件请求无需重定向即可通过
这不是 Apache 服务器(它是 LiteSpeed),但据说它完全支持 .htaccess 文件。
这是我对规则的看法:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$
RewriteRule .* http://log.domain.com/
发生的情况是,如果我请求一个特定文件(如 dir/index.php),它就会通过,但目录请求仍会重定向到 log.domain.com。我认为第二个 RewriteCond 的 $ 会阻止这种情况发生,但事实并非如此。
编辑:仅出于存档目的,我的意图不是将任何不存在的目录/文件重定向到 log.domain.com,因为用户永远不必这样做。这使得规则的标准变得更加简单,混乱和秋葵都在下面给出了他们的第一条规则。再次感谢!
【问题讨论】:
-
你应该说你只希望 URL 路径“/”被重定向。
标签: .htaccess mod-rewrite redirect litespeed