apache目录限制

apache用Directory

说明        封装一组指令,使之仅对文件空间中的某个目录及其子目录生效
语法        <Directory directory-path> ... </Directory>
作用域        server config, virtual host
状态        核心(C)
模块        core

apache用DirectoryMatch过滤不想显示的文件或者目录

实例如下,在我的一个示例项目中,我不想显示所有的.c文件,可以通过如下设置:

Alias /sample /opt/projects/Sample
<Directory /opt/projects/Sample>
        Options Indexes FollowSymLinks MultiViews
        Order Allow,Deny
        Allow from all
</Directory>
<DirectoryMatch \.c>
        Deny from all
</DirectoryMatch>

使用<Directory>… </Directory>设置指定目录的访问权限,其中可包含:
Options
AllowOverride
Order
Allow 
Deny
五个属性。
Options属性
Options FollowSymLinks Indexes MultiViews
Options可以组合设置下列选项:
All:用户可以在此目录中作任何事情。
ExecCGI:允许在此目录中执行CGI程序。
FollowSymLinks:服务器可使用符号链接指向的文件或目录。
Indexes:服务器可生成此目录的文件列表。
None:不允许访问此目录。
AllowOverride
AllowOverride None
AllowOverride会根据设定的值决定是否读取目录中的.htaccess文件,来改变原来所设置的权限。
All:读取.htaccess文件的内容,修改原来的访问权限。
None:不读取.htaccess文件
为避免用户自行建立.htaccess文件修改访问权限,http.conf文件中默认设置每个目录为: AllowOverride None。
AccessFileName
AccessFileName filename
AccessFileName指令用于指定保护目录设定文件的文件名称,默认值为“.htaccess”。
AccessFileName .acl

Allow
设定允许访问Apache服务器的主机
Allow from all
允许所有主机的访问
Allow from 202.96.0.97 202.96.0.98
允许来自指定IP地址主机的访问

<VirtualHost *:80>

ServerAdmin test.com

DocumentRoot "/usr/local/apache/htdocs"

ServerName test.com

DirectoryIndex index.html index.shtml index.cgi index.php index.phtml index.php3

ServerAlias www.dummy-host.example.com test1.com testnet.com

ErrorLog "/var/http/logs/test-Error_log"

CustomLog "logs/test.com-access_log" combined_with_cookie

访问/usr/local/apache/htdocs下目录需要用户密码登入

<Directory "/usr/local/apache/htdocs"> #把目录下的所以文件进行对外访问

#    Options FollowSymLinks

#    AllowOverride All

#    Order Allow,Deny

#    Allow from all

#    RewriteEngine on

#   RewriteRule ^a(.*).html$ /test.php?id=$1

AuthType Basic

AuthName Authorize

AuthUserFile /usr/local/apache/conf/extra/password 访问需要用户密码登入

require user ren

#把所有的a.开头的.html文件跳转到test.php文件下 $1是 ^a(.*).html$

</Directory>

</VirtualHost>

放开/usr/local/apache/htdocs/bbs目录能直接访问

<VirtualHost *:80>

DocumentRoot "/usr/local/apache/htdocs/bbs"

ServerName zhang.com

DirectoryIndex index.html index.shtml index.cgi index.php index.phtml index.php3

ServerAlias www.dummy-host.example.com test1.com testnet.com

ErrorLog "/var/http/logs/test-Error_log"

CustomLog "logs/test.com-access_log" combined_with_cookie

<DirectoryMatch "/usr/local/apache/htdocs/bbs">放开

Options FollowSymLinks

AllowOverride All

Order Allow,Deny

Allow from all

</DirectoryMatch>

</VirtualHost>

时间: 2024-11-06 17:43:27

apache目录限制的相关文章

Apache配置站点详细讲解(apache目录结构介绍)

apache模块: 查看Apache有哪些参数:/application/apache2.2.34/bin/apachectl 查看Apache安装了哪些模块:/application/apache2.2.34/bin/apachectl -l跟踪apache进程:strace /application/apache2.2.34/bin/apachectl -M 如果解析很慢,打开/etc/hosts/文件在第一行后面加上httpd ############################vi

yum方式安装的Apache目录详解和配置说明

转载自http://www.cnblogs.com/carbon3/p/5635543.html 在对httpd.conf文件进行解读之前,首先了解一下Redhat9中Apache服务器默认配置的一些基本信息:配置文件:/etc/httpd/conf/http.conf1)"/etc/httpd/conf主要存放了配置文件httpd.conf,这个是最重要的配置文件,Apache的所有主要权限和功能都在这个文件中进行了详细的设置.(2) "/etc/httpd/conf.d"

apache 目录认证

apache的根目录是 /application/apache/htdocs 1.建立用户 /application/apache/bin/htpasswd -c /application/apache/htdocs/.htpasswd lvnian 其中 .htpasswd 是存储账户密码的文件 lvnian 是用户名 系统会要求您输入 两边密码 2.编辑httpd.conf 在httpd.conf里加入如下几句代码 <Directory "/application/apache2.22

配置的好的Apache和PHP语言的环境下,如何在Apache目录下htdocs/html目录下 同时部署两个项目呢

建虚拟目录打开Apache->conf->httpd.conf在最下面粘贴NameVirtualHost 127.0.0.1 <VirtualHost 127.0.0.1> ServerName 虚拟主机名 DocumentRoot "网站绝对目录" <Directory 同上> Options Indexes AllowOverride None Order allow,deny allow from all </Directory>

禁止访问Apache目录

在PHP网站开发中,基于WEB服务器和PHP网站程序代码的安全考虑,我们需要对相关的目录或者文件访问权限进行控制,以防止意外情况的发生,那么我们如何来实现这种功能呢?我们可以通过Apache来实现禁止目录访问(禁止游览列出的目录或文件列表).禁止或允许IP与域名访问目录的功能. 在Apache中配置禁止目录访问,即禁止游览列出的目录/文件列表的方法 访问网站目录时Apache默认配置为可列出目录/文件列表,即当你访问http://localhost时会列出相关的目录和文件列表,我们可以通过修改A

Nginx|Apache目录权限禁止执行PHP设置

Ngnix: location ~ /upload/.*.(php|php5)?$ { deny all; } 这就是禁止upload内执行php,但是图片可以打开哦 多目录禁止: location ~ /upload|upload1|upload2/.*.(php|php5)?$ { deny all; } 这就禁止了upload,upload1,upload2三个目录 Apache: .htaccess控制,适用于没有服务器管理权限.在可写文件夹的目录下,建一个.htaccess文件,内容为

apache 目录网站显示indexs

Apache Options Indexes FollowSymLinks详解 第一种方法 <Directory "E:\myvirtualhost\localhost">  Options Indexes FollowSymLinks #Options FollowSymLinks  AllowOverride None  Order allow,deny  Allow from all</Directory> 去掉Indexes (Indexes 的作用就是

apache目录权限控制

<Directory 目录名></Directory>  定义一个目录 Options:目录中将使用哪些服务器特性 None //不启用任何额外特性 All //启用除MultiViews之外的所有特性(默认设置) Indexes //当用户访问该目录时,找不到index文件,则返回该目录下的文件列表给用户 FollowSymLinks //可以在该目录中使用符号连接,这样就访问目录之外的文档 MultiViews //允许内容协商的多重视图 Includes //允许服务器端包含

Apache目录别名

1.  打开主配置文件 /usr/local/apache2/conf/httpd.conf,去掉注释 Include conf/extra/httpd-autoindex.conf 2. 编辑 httpd-autoindex.conf 添加内容: Alias /test/ "/data/www/" <Directory "/data/www"> Options Indexes MultiViews AllowOverride None Require