Apache下禁止显示网站目录结构的方法

中午开发小哥跑来找我,给我一个网站地址,我点开后显示的是目录格式,把网站的目录结构全部显示出来了。开发小哥说这个显示结果不正确,不应该让用户看到我们的目录结构,问我怎么解决。

我第一反应是目录权限的问题,查看了一下网站目录的权限,发现权限是777,随后我把权限改为755,结果这个页面的确不能访问了,但是上级页面也跟着爆掉了,要知道,这可是线上环境啊,我当时那个汗就下来了,赶紧恢复了777的权限,上级页面又正常了,看来不是权限的问题(又长见识了)。

这个时候我意识到可能是配置文件的问题了,然后正好公司运维主管过来,我问了一下,他说apache配置文件里有一项可以禁止显示网站目录的配置项,禁止掉就好了(然后用一脸鄙视的神情看了我一下)。我查了一下,原来在apache的主配置文件中对于网站根目录的配置中有一项:

<Directory "/var/www/html">

#
# Possible values for the Options directive are "None", "All",
# or any combination of:
#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn‘t give it to you.
#
# The Options directive is both complicated and important.  Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
    Options Indexes FollowSymLinks    (就是这一行配置)

#
# 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

上述红色字体即表示允许以目录的形式列出网站目录下的子文件以及子目录,只要将配置中的Indexes删掉就可以禁止列出目录了。删完一看果然成功了。

可能有的大神看到我发的博客会觉得幼稚低级,原谅我刚入行运维不久,经验啥的太缺乏了。对于这些服务的了解也还比较浅,平时都主要关注服务怎么搭建起来,怎么正常工作,这些细节的配置关注的很少。看来运维不是一件容易干的工作啊,经验果然是重要中的重要,所以赶紧来写下这篇博客,也为自己积累一点东西吧。

另外:欢迎大家到我的博客来,欢迎评论,有什么不对的地方欢迎大家指出,相互学习。

时间: 2024-10-29 04:36:15

Apache下禁止显示网站目录结构的方法的相关文章

Apache设置禁止显示网站目录列表

方法1: 打开Apache配置文件httpd.conf,找到目录配置 1 <Directory "D:/www/web1"> 2 Options FollowSymLinks #---------->Options Indexes FollowSymLinks 3 AllowOverride None 4 Order allow,deny 5 Allow from all 6 </Directory> 将上面代码中的 Indexes 去掉,就可以禁止 Ap

Linux下ThinkPHP网站目录权限设置

在windows上运行好好的项目,迁移到Linux上就遇到了很多问题,其中最为重要的是网站目录权限的设置,当然简单期间你可以用 命令 "chmod 777 -R you web site" ,这样你就不用担心项目运行的时候会涉及到权限问题.通常来说如果你的项目时部署在公网或者是部 署在租用的Linux服务器上不建议这么做,应为如果这样设置了那么任何用户都可以对这个站点下的文件,目录进行操作,这样也会影响网站的运营, 同样不安全.下面以ubuntu14.4 系统为主进行分析. 最简单的做

nginx 设置网站目录访问验证方法【转载】

为网站目录设置访问验证之后我们就是进入此页面都需要输入验证密码才可以,下面我来介绍nginx中配置目录访问验证码方法总结. 1.创建类htpasswd文件 执行:  代码如下 复制代码 wget -c soft.vpser.net/lnmp/ext/htpasswd.sh;bash htpasswd.sh 按提示输入用户名.密码.及认证文件名.脚本会自动生成认证文件.记录下脚本返回的文件路径.如:/usr/local/nginx/conf/vpser.net.auth. 2.为Nginx添加au

VS下的解决方案目录结构设置和管理

转载:http://blog.csdn.net/pl20140910/article/details/52074165 为了方便管理自己写的代码,也为了日后工作能方便的查找之前做过相同的代码,仿照某源码结构,自己建了一个解决方案,以方便管理自己的代码,这样代码迁移也比较方便,不需要每次重新配置第三方库或其它需要依赖的库.下图为整个解决方案目录结构设置: 图1 VS解决方案目录结构设置 如上图,为了方便管理,以后所有的项目都写在AllProject解决方案里,途中红色的部分表示的都是文件夹,绿色的

MVVM 模式下iOS项目目录结构详细说明

?更多技术干货请戳:听云博客 我们在做项目的时候,会经常用到各种设计模式,最常见的要数 MVC (模型,视图,控制器)了.但是,今天我们要说的是另一种设计模式——MVVM. 所以 MVVM 到底是什么?下面,我们将结合代码,说明 MVVM 设计模式以及项目目录结构. 一.MVVM 模式介绍  MVVM 是 Model-View-View Model 的缩写,MVVM 听起来好像很复杂的样子,但它本质上就是MVC 的改进版.MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和

apache下实现301永久性重定向的方法

因为博客是使用了www.php100.com作为博客域名,所以想实现php100.com全部重定向(跳转)到www.php100.com.同时按照google的建议,使用服务器端 301 重定向,为了确保用户及搜索引擎定向至正确网页的最佳方法.301 状态代码表示某网页已被永久迁移至新位置.下面将了解一下apache下实现301永久性重定向2个方法,需要具有访问服务器的 .htaccess 文件的权限. 1. Apache模块 mod_alias的 Redirect 和 RedirectMatc

Apache配置多个监听端口和不同的网站目录的简单方法

一种方法: 1,在httpd.conf 主配置问文件中定义监听端口 Listen 80  Listen 8080 2,在虚拟主机配置文件中添加如下,如下为参考配置: NameVirtualHost *:80<VirtualHost *:80> # ServerAdmin [email protected] DocumentRoot "/data/web/" ServerName 120.25.208.128 ServerAlias www.jxcia.1.com Error

Apache伪静态在网站目录没有反斜杠后自动添加反斜杠

第一步:确认网站开启REWRITE规则 一般有两种情况: i.apache安装的时候已经包含rewrite功能 ii.后续配置的时候新添加mod_rewrite.so.这种情况需要在httpd.conf文件中修改配置启动 在conf目录下httpd.conf中找到 LoadModule rewrite_module modules/mod_rewrite.so 这句,去掉前边的注释符号“#”,或添加这句. 允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“Al

Windows访问Linux下的共享目录的配置方法

user安全级别 第一步:安装samba3(如果已经安装就跳过这一步) [[email protected] /]# yum groupinstall "CIFS file server" 第二步:修改配置文件 [[email protected] /]# vi /etc/samba/smb.conf 将security参数的值设为user(这是默认值) security = user 第三步:创建可以访问共享目录的用户 [[email protected] test]# userad