0

我在重定向到受保护文件夹时遇到问题。有两个域:domain1.com 和 domain2.com 托管在两个不同的服务器中。两者都设置了将 www 添加到地址的 .htaccess 规则:

RewriteCond %{HTTP_HOST} ^domain1\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain1.com/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^domain2\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain2.com/$1 [R=301,L]

并且两者都有一个受保护的文件夹 /admin 。

当我想以这种方式访问​​此文件夹时没有问题:

- http://www.domain1.com/admin
- http://www.domain2.com/admin

但是当我尝试使用这些地址访问它们时:

- http://domain1.com/admin
- http://domain2.com/admin

只有 domain1.com 正常工作,要求输入密码, domain2.com 返回 401 ERROR

--------------
--------------
root@vps:~# telnet domain1.com 80
Trying 1.1.1.1...
Connected to domain1.com.
Escape character is '^]'.
HEAD /admin HTTP/1.1
Host: domain1.com

HTTP/1.1 401 Authorization Required
Date: Fri, 29 Jun 2012 18:54:34 GMT
Content-Type: text/html
Connection: keep-alive
WWW-Authenticate: Basic realm="admin"
Accept-Ranges: bytes
Vary: Accept-Encoding
Server: Apache/2

Connection closed by foreign host.
--------------
--------------
root@vps:~# telnet domain2.com 80
Trying 2.2.2.2...
Connected to domain2.com.
Escape character is '^]'.
HEAD /admin HTTP/1.1
Host: domain2.com

HTTP/1.1 301 Moved Permanently
Date: Fri, 29 Jun 2012 18:52:19 GMT
Server: Apache/2
WWW-Authenticate: Basic realm="Panel Administracyjny"
Location: http://www.domain2.com/401.shtml
Vary: Accept-Encoding
Content-Type: text/html; charset=iso-8859-1

Connection closed by foreign host.
--------------
--------------

有什么问题怎么解决?如果 domain2.com 的情况,是否有可能错过 Connection: keep-alive 的一行?domain2.com 的管理员说:不可能将这种重定向到受保护的文件夹 - 但你知道 -.- 正如你在 domain1.com 看到的那样 - 所以我必须在告诉他应该修复什么之前确定.

4

1 回答 1

1

好的,这是解决方案:domain1.com 已禁用 ErrorDocument 401,这就是此重定向有效的原因 - 不幸的是,似乎无法使用已启用的 ErrorDocument 401 进行此类重定向。

于 2012-07-04T19:49:39.210 回答