在Apache上有一个域的多个redirect

我想弄清楚如何将一个URLredirect到一个位置:

http://mydomain.com/admin to http://mydomain.com/admin 

并从其他所有请求

 http://mydomain.com point to http://myotherdomain.com 

所以基本上所有其他请求将redirect到myotherdomain.com除了http://mydomain.com/admin

我已经尝试在Apache中设置redirect规则,但是我没有任何运气。 我收到“该页面没有正确redirect”消息。

 <VirtualHost *:80> ServerName mydomain.com ServerAlias www.mydomain.com DocumentRoot /opt/www/mydomain.com/ Redirect /admin http://mydomain.com/admin Redirect / http://www.myotherdomain.com </VirtualHost> 

你试过了吗(注意斜线):

 Redirect /admin http://mydomain.com/admin/ 

否则,它会重新匹配/admin Redirect ,并卡住你提到的循环。

或者,你可以使用mod_rewrite (未经testing):

 RewriteEngine On RewriteCond %{REQUEST_URI} !admin RewriteRule (.*) http://myotherdomain.com$1 [L] 

(Apache会自动将http://mydomain.com/dirredirect到任何目录的http://mydomain.com/dir/ ,所以你只需要改进RewriteCond 。)