htaccess 重定向错误 - 重定向太多

htaccess error on redirect - too many redirects

我正在尝试将所有请求从一个域 (domain.co.in) 重定向到另一个域 (domain.info.in)。我在 htaccess 中尝试了重写指令和重定向指令,但在浏览器中出现了太多重定向错误。下面是我要实现的配置。

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{HTTP_HOST} ^(www\.)?domain\.co\.in [NC]
RewriteRule ^(.*)$ index.php/ 
RewriteRule ^(.*)$ http://domain.info.in/ [R,L]

我实际工作的 htaccess 配置是

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.+)$ index.php/ 

使用它,我可以将所有请求重定向到 index.php 并且工作正常。但是当我添加域重写规则时,出现重定向错误。我也试过重定向指令, Redirect 302 / http://domain.info.in/index.php/,但同样的错误。

我尝试了 Fiddler tool mentioned in this post, Tips for debugging .htaccess rewrite rules。那里很好用。

实际上,我想将所有请求 (www.domain.co.in, domain.co.in, www.domain.info.in) 重定向到 domain.info.in

对此有什么建议吗?

根据@CBroe 的建议,我已经更新了配置并且可以正常工作。正如他所说,

RewriteConds always affect the directly following rule.

而且我还在检查中添加了否定以重定向所有其他请求。

RewriteEngine On

RewriteCond %{HTTP_HOST} !^domain.co.in$ [NC]
RewriteRule ^(.*)$ http://domain.info.in/ [R,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.+)$ index.php/ [L]