我正在尝试创建一个重写规则来完成两件事:
(www.)?domain.com
重定向到log.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的$
会阻止这种情况发生,但情况似乎并非如此。
答案 0 :(得分:2)
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$
RewriteRule ^$ http://log.domain.com/
答案 1 :(得分:0)
试试这个:
# skip the next rule if host is not example.com or www.example.com
RewriteCond %{HTTP_HOST} !^(www\.)?example\.com$
RewriteRule ^ - [S]
# redirect if requested URI does not match a regular file or directory
# or if the requested URI path is just "/"
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d [OR]
RewriteCond %{REQUEST_URI} =/
RewriteRule ^ http://log.example.com/