重定向至万维网.在包含 HTaccess 文件的受保护文件夹中



嗨,我在我的网站上的 UNIX 服务器上有一个受密码保护的文件夹和一个带有非 www 的 htaccess 文件。 重定向至万维网。 但由于某种原因,我无法使其适用于受保护的文件夹。我尝试将代码添加到受保护文件夹中的htaccess文件中,但它不起作用,服务器仅返回401授权要求错误,并且不接受任何用户和密码。有什么想法如何让它工作吗?

例如。http://domain.net/password-protect/good-url.php返回 401 错误页,同时:http://domain.net/subfolder/good-url.php不

以下是根文件夹中的 htaccess 代码:代码 1.

RewriteEngine on
 RewriteCond %{HTTP_HOST} !^www. [NC]
 RewriteCond %{SERVER_PORT} 443
 RewriteRule ^(.*)$ http://www.domain.net/$1 [R=301,L]
 RewriteCond %{HTTP_HOST} !^$
 RewriteCond %{HTTP_HOST} !^www. [NC]
 RewriteCond %{HTTPS}s ^on(s)|
 RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

在我的密码保护文件夹中:代码 2.

  AuthName "Ins"
  AuthUserFile "/home6/gingerc3/.htpasswds/public_html/password-subfolder/passwd"
  AuthType Basic
  require valid-user

我尝试在代码 1 上标记到代码 2。 但它不起作用。万维网.重写在其他子文件夹中工作正常,但不能在受密码保护的子文件夹中工作。

顺便说一下,将以下代码添加到 Code2. 确实有效。代码3.

RewriteEngine on
Redirect 301 /password-protect/bad-url.php http://www.domain.net/password-protect/good-url.php

谢谢。

我自己解决了这个问题。说实话。我并不真正理解这些代码,我添加了Code1的第一部分。因为有人建议我这样做。看着它,我不知道为什么我应该使用服务器端口 443,所以这是给我的第一个警报,可能会删除该部分。我废弃了所有代码,并使用主机助手应用程序创建了通配符重定向,而不是使用子文件夹,我基本上将地址中的"/"替换为文件名中的".",现在所有内容都在同一文件夹中,并使用HTaccess文件密码保护所有文件,从以前的文件夹名称开始。

RewriteEngine on
 RewriteCond %{HTTP_HOST} ^domain.net$
 RewriteRule ^(.*)$ "http://www.domain.net/$1" [R=301,L]
<Files file-name.*>
AuthType Basic
AuthName "Restricted Area"
AuthUserFile "/home6/user/.htpasswds/public_html/passwd"
require valid-user
</Files>

它现在运行良好。提示:如果您更改 htaccess 文件,则可能会在第一次检查时收到错误。首先尝试刷新页面。

最新更新