.htaccess 已启用,但不起作用

.htaccess 已启用,但不起作用

我在新服务器上使用 .htaccess 时遇到了一些非常令人沮丧的问题。我管理服务器的经验并不丰富,但我花了三天时间仔细阅读文档和我能找到的所有资源。

我尝试过 .htaccess 的一个非常基本的应用,但它却无法给出预期的结果。我设置了一个测试目录。此目录中有一个 .htaccess 文件,其中包含以下命令:

全部否认

如果我没记错的话,这应该会拒绝访问 /test,但事实并非如此。它只是放在那里,允许任何人查看内容。我在同一目录中制作了一份可读的 .htaccess 副本,供任何想要查看的人查看确切地我的.htaccess 中发生了什么。

我的服务器/配置可能出了什么问题?服务器正在运行 CentOS。

响应

# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
#
    AllowOverride None

根据建议,我将其更改为AllowOverride All,然后重新启动了服务器:

service httpd restart

但收到如下信息:

/etc/httpd/conf/httpd.conf 第 347 行语法错误:
此处不允许 AllowOverride [FAILED]

第 347 行是下面的最后一行:

# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received.
#
# The path to the end user account 'public_html' directory must be
# accessible to the webserver userid.  This usually means that 
# ~useridllowOverride controls what directives may be placed in 
# .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
#
    AllowOverride None

答案1

您的 Virtualhost 配置中是否有AllowOverride All? 如果有AllowOverride None,则不会读取 .htaccess 文件,因此不会使用它。对,

全部否认

单独禁止与文件夹的连接。并且不要忘记重新加载 apache

相关内容