2012-02-15 182 views
1

我想用的.htaccess重定向我的域名到另一个之一:的.htaccess:身份验证和重定向

RewriteEngine on 
RewriteRule !^admin($|/) http://mydomain.com%{REQUEST_URI} [L,R=301] 

正如你所看到的,我不想重定向指定文件夹(”管理员“),因为该目录实际上有内容。

的问题是,我有这个代码,另一个目录的.htaccess:

AuthName "You must login" 
AuthUserFile /path/to/.htpasswd 
AuthType Basic 
require valid-user 

当我访问非重定向文件夹在我的浏览器,它重定向到一个MYDOMAIN页面401.html。 COM。

我该如何解决这个问题?我想将所有内容重定向到mydomain.com,除了需要授权的目录“admin”。

回答

0

在第一个域的配置文件中查找R=401ErrorDocument 401。有些东西正在设置自定义401页面,然后与您的重写规则相匹配,并将浏览器重定向到mydomain.com

0

不小心的陷阱是您的浏览器可能在测试期间缓存重定向。因此,当测试从R = 301中删除301以自行离开R标志时。

这样:

RewriteRule !^admin($|/) http://example.com%{REQUEST_URI} [L,R] 

一旦你满意你的htaccess重定向那么R标志更改为R = 301(作为一个永久性重定向)的运作。

如果您一直在使用R = 301,请清除浏览器的缓存。