我无法在我的apache Web服务器中启用目录列表。我尝试了各种解决方案,但没有工作。我刚刚安装了httpd 2.4.6,并使用/etc/httpd/conf.d/ssl.conf目录下的ssl.conf启用了https,并试图访问https://server.example.com/,但这并没有列出dir。这些是ssl.conf中的配置
DocumentRoot "/home/userx/Downloads/"
ServerName server.example.com:443
以下是VirtualHost元素下ssl.conf中的内容。我安装时文件和第一个Directory元素已经存在,我刚为“/ home / userx / Downloads”添加了Directory。我想在访问URL https://server.example.com/时浏览/ home / userx / Downloads的内容。我在这里缺少什么?
<Files ~ "\.(cgi|shtml|phtml|php3?)$">
SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
<Directory "/home/userx/Downloads">
Options +Indexes
AllowOverride all
</Directory>
答案 0 :(得分:16)
查看您是否能够访问/列出'/ icons /'目录。这对于测试Apache中的Directory行为非常有用。
例如:你可能在你的httpd.conf文件中默认配置低于配置。所以点击网址:IP:端口/图标/并查看它是否列出了图标。你也可以试试把'目录/文件夹'在'var / www / icons'中。
Alias /icons/ "/var/www/icons/"
<Directory "/var/www/icons">
Options Indexes MultiViews
AllowOverride None
Require all granted
</Directory>
如果确实有效,那么您可以使用“配置”交叉检查或修改自定义目录配置。
答案 1 :(得分:4)
我通过启用Apache的mod_autoindex
解决了这个问题。它默认是禁用的。
sudo a2enmod autoindex
答案 2 :(得分:4)
根据Apache文档found here,需要在站点DirectoryIndex
文件中指定.conf
指令(通常位于linux上的/etc/apache2/sites-available
中)。
从文档引用,它写着:
如果
DirectoryIndex
指令中没有文件可以找到 目录,然后mod_autoindex可以生成目录列表 内容。使用Options
指令打开和关闭此功能。对于 例如,为了打开特定目录的目录列表 可以使用:<Directory /usr/local/apache2/htdocs/listme> Options +Indexes </Directory>
为防止目录列表(例如出于安全目的), 你应该从每个Options指令中删除Indexes关键字 你的配置文件。或者只为一个人阻止它们 目录,你可以使用:
<Directory /usr/local/apache2/htdocs/dontlistme> Options -Indexes </Directory>
答案 3 :(得分:3)
试试这个。
<Directory "/home/userx/Downloads">
Options +Indexes
AllowOverride all
Order allow,deny
Allow from all
Require all granted
</Directory>
如果这不起作用,您可能会拒绝索引&#39;在某个地方覆盖你的配置。
答案 4 :(得分:0)
这个解决了我的问题,即SELinux设置:
chcon -R -t httpd_sys_content_t /home/*
答案 5 :(得分:0)
一种方法是通过创建到您要在/ var / www / html /目录中列出的目录的软链接。
public void regionDropDownList_SelectedIndexChanged(object sender, EventArgs e)
{
regionDescriptionLabel.Text = regionDropDownList.SelectedItem.Text; // If value needed then regionDropDownList.SelectedValue
}
请牢记安全性。
答案 6 :(得分:0)
我必须明确删除欢迎页面并重新启动服务才能查看我的目录列表。
$ sudo rm -rf /etc/httpd/conf.d/welcome.conf
$ sudo service httpd restart
答案 7 :(得分:0)
我必须禁用selinux才能使它工作。注意。需要重新启动系统才能使selinux生效。