我的.htaccess文件无效。我已检查它是否在根目录中。我还验证了它的代码是正确的。当我在.htaccess中输入随机字母/数字时,我没有得到500错误。当我打开我的apache错误日志时,它给了我这个错误:
[Mon Jan 16 20:28:37 2012] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Mon Jan 16 20:28:41 2012] [notice] Digest: generating secret for digest authentication ...
[Mon Jan 16 20:28:41 2012] [notice] Digest: done
[Mon Jan 16 20:28:44 2012] [notice] Apache/2.2.14 (Unix) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l PHP/5.3.1 mod_perl/2.0.4 Perl/v5.10.1 configured -- resuming normal operations
我不知道该怎么做。
http.conf:
<Directory />
Options FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
</Directory>
答案 0 :(得分:3)
有一些可能的原因导致您的随机,无效.htaccess
文件不会导致http错误500(内部服务器错误):
.htaccess
。第一个字符是一个点。最后一个字符是小写的''。隐藏的扩展名可能会导致问题,因为错误的文件名可能看起来是正确的。.htaccess
个文件。如果配置选项AllowOverride
在apache配置文件中设置为None
(对于指定的域),那么Apache将不会查找任何.htaccess
文件。另请注意,使用.htaccess
协议访问文件时会忽略file://
个文件。
<强>更新强>
.htaccess
中使用的路径是指文件系统路径,而不是url路径。根据您发布的.htaccess
内容,没有人可以访问您网络服务器上的任何文件。我会建议像:
<Directory />
# Security first, deny everything that's not explicitly allowed.
AllowOverride None
Order deny, allow
Deny from all
</Directory>
<Directory /path/to/webroot>
# This is the part that should be accessible
Options FollowSymLinks
AllowOverride All
Order allow, deny
Allow from all
</Directory>
您的.htaccess
文件应位于/path/to/webroot
请注意,您应该将/path/to/webroot
更改为与文件系统匹配的合理内容。