使用 .htaccess 的路径问题

Posted

技术标签:

【中文标题】使用 .htaccess 的路径问题【英文标题】:Problem with path on using .htaccess 【发布时间】:2011-03-07 05:33:34 【问题描述】:

这是我的 Web 文档所在的文件夹路径,我想保护它: "C:\Program Files\PostgreSQL\EnterpriseDB-Apachephp/apache/www/MyWeb"

我也在这个文件夹中放置了:.htaccess 和 .htpasswd

我的 .htaccess 有以下内容: AuthName "受保护的站点" AuthType 基本 AuthUserFile C:\Program Files\PostgreSQL\EnterpriseDB-ApachePhp/apache/www/MyWeb/.htpasswd 需要有效用户

在 DocumentRoot "C:\Program Files\PostgreSQL\EnterpriseDB-ApachePhp/apache/www" 的 httpd.conf 中,我将 AllowOverrid None 更改为 All 并添加了行 AccessFileName .htaccess,如下所示: 访问文件名 .htaccess

选项 FollowSymLinks AllowOverride None ----> All 订单拒绝,允许 拒绝一切

所以这正是我所做的!

对不起,我又问了一次,因为在我看来,人们只在最初的时间里回答问题,之后就被遗忘了。 :)

【问题讨论】:

你能出示你的htaccess文件吗? 【参考方案1】:

几天后,我终于发现我的设置出了什么问题。首先,我犯了一个巨大的错误,即在我完成每次更改后不重新启动 apache(AllowOverride All)。因此,如果您在 httpd.conf 中重写某些内容...并且第二件事我没有看到它是错误的:是我的 .htaccess 文件中的路径,它应该用“”写入。因为“Program Files”的名称中有空格。

我希望我的提示对有同样问题的人有用,也许做同样的事情是错误的。

【讨论】:

【参考方案2】:

确保文件名为 .htaccess,您的路径显示它是 .htpasswd。

并且您需要在您的 apache 配置中启用 htaccess 处理。我认为这是必要的: AllowOverride AuthConfig

【讨论】:

.htaccess 和 .htpasswd 在同一个文件夹中:C:\Program Files\PostgreSQL\EnterpriseDB-ApachePhp\apache\www\ProtectedFolder .htaccess ---------- AuthName " Pod zastitom" AuthType Basic AuthUserFile C:\Program Files\PostgreSQL\EnterpriseDB-ApachePhp\apache\www\ProtectedFolder\.htpasswd 而在 .htpasswd 中是用户和密码!!!但它不起作用!你能再告诉我一次我应该如何处理 AllowOverride 和 AuthConfig 吗?那在哪里?需要有效用户 @Z77 AllowOverride 在httpd.conf 文件中。还要检查AccessFileName 设置,它应该设置为.htaccess 感谢您的帮助。让我检查并尝试。我会在几分钟后回到这里。 根据这个路径 C:\Program Files\PostgreSQL\EnterpriseDB-ApachePhp\apache\www 我在 httpd.conf 中将 AllowOverride None 更改为 AllowOverride All。但它仍然不起作用。我应该在 httpd.conf 中更改任何其他内容吗?!?!!?请。 我在哪里可以更改此 AccessFileName 设置?!?!我应该在 .htaccess 中还是在哪里写这个?

以上是关于使用 .htaccess 的路径问题的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 .htaccess 将域路径重定向到其他域路径?

使用.htaccess 重定向到动态相对路径?

如何在 htaccess 中使用带有 AuthUserFile 的相对路径?

为啥我的 .htaccess 文件重定向到完整的服务器路径而不是相对路径?

使用 .htaccess 将特定路径镜像到另一个 url

如何通过 .htaccess 设置 PHP 包含路径?