2010-03-11 110 views
1

我必须添加一个密码保护区到我正在使用的网站(使用.htpasswd文件)。问题是它指向的整个目录结构不存在,并且通过mod_rewrite创建。htaccess vs密码保护目录

它仍然可以工作,或者实际上目录实际上必须存在于服务器上吗?

澄清: 虽然我可能需要密码保护的目录: http://sitename/category/protected/

mod_rewrite的转换这? 的index.php类别=类别&目录=保护

所以实际的目录做不存在。它仍然是可以保护的吗?

回答

1

您可以将访问规则添加到目录或位置标记中的apache配置文件(httpd.conf或类似文件),而不是将其添加到.htaccess文件中。

0

您的重写规则将最终指向系统目录中的某些文件(除非它们将用户重定向到某个外部位置)。身份验证设置应位于将被访问的基础目录中。

+0

该目录不存在,这是问题。 mod_rewrite伪造整个事情。 – Meep3D 2010-03-11 09:36:51

+0

你的mod_rewrite重定向到你的'index.php'文件,所以或者在它旁边放一个'.htaccess'文件,或者作为Anders建议把这个配置放到主apache配置文件中,并使用''来匹配url或' '匹配文件系统上的目录,甚至匹配''来特别匹配index.php。有关更多信息,请参阅http://httpd.apache.org/docs/2.2/sections.html。 – 2010-03-11 12:01:24