目录访问权限
一个粘袋你,就是一个“目录”
每个目录 都应该给其设定 访问权限,语法如下
<Directory "要设置权限的目录路径">
#设置当一个请求没有给定请求文件名没有默认网页 首页 的时候 显示文件留俄标
Options indexes
#设置权限控制的先后顺序只有2中:DENY,ALLW(先拒绝,后允许)allow,deny(先允许后拒绝)
Order deny,allow
#Deny 用于设定要拒绝访问的来源地址或服务器名,几乎没有实际意义!
Deny from 拒绝名单 比如 deny from 192.168.3.8. 172.180.4
Allow from 允许名单 比如 Allow from all
#设置该文件夹下的“默认网页”(首页)可以设置多个用于请求中不带文件名的时候自动使用该文件作为“返回”页面
DIRECTORYINDEX index.php index.html main.php default.php 123.html
</Directory>
目录访问权限中的“分布式权限”
对于某个目录的访问权限 我们在apache 中使用 Directory 来设定,但可能不够方便 :
1 apache 配置修改 必须重启apache
2 某个站点中的“下级目录”访问权限 不方便单独设置
这种 可以称为“集中式权限”;
分布式权限 就是针对某个网站的任何一个下级目录 都可以单独去设置其访问权限 并且可以不重启 apache就生效
第一步:
在该站点对应目录访问权限的Directorty
#下一行 表示当前目录 允许“分布式”权限配置
AllowOverride all
第二步
在该目录下的任何子目录中,创建一个特殊的文件(.htaccess)在该文件中写所需要的“权限内容”(几乎跟Direcetor中的写法一样);
www.php39.com 初始可以浏览
在该文件中添加一个文件 .htacess其内容为:
Deny from all
Allow from 192.168.3.4
在该day1文件中就多了一个文件:
.htaccess
多站点的配置
分3步;
1:在apache的主配置文件httpd.conf中“打开”多粘袋你虚拟主机配置文件项(关键词:vhosts):
表示此时会载入(include)该文件
2:在 httpd-vhosts.conf设定希望提供“多站点”服务的ip地址和端口号,通常默认是*:80,其中“*”代表所有ip 默认其实apache安装好之后就设置好了 无需手动设置(关键字 NameViralHost)
NameViralHost *:80
3:
然后就一个粘袋你一个站点的加上!形式如下
<virtualhost *:80>
#设置 站点1的各项信息
</virtualhost>
<virtualhost *:80>
#设置 站点2的各项信息
</virtualhost>
注意
1 先把 httpd-vhosts.conf文件中的2个初始安装生成的站点,删除!!!
2 每个站点的设置项 主要就3个
ServerName
DocumenetRoot
<Directory>…</Directory>
3 在多个站点配置中, 第一个站点被称为“默认站点”,如果某个请求的域名无法跟任何一个站点“匹配”,就会当作请求的是默认站点去处理(应答)
4一旦实现了多站点配置,则最初安装成功时“默认站点”就失效了, 我们将“localhost”当做一个普通站点重新设置就可以了 也剋以将其放在第一个位置又重新作为默认站点
#第1个站点的配置
<virtualhost *:80>
ServerName www.pphp39.com
#设定该站点的“别" 即通过一下域名也可以访问
ServerAlias mip.php39.com
DocumenetRoot "文件路径"
<Directory “文件路径”>
oprions indexes
order deny,allow
Allow from all
#几乎不需要写deny
</Directory>
</virtualhost>
#第2个站点的配置
<virtualhost *:80>
ServerName www.guagua.com
DocumenetRoot "文件路径"
<Directory “文件路径”>
oprions indexes
order deny,allow
Allow from all
DirectoryIndex index3.html
</Directory>
</virtualhost>
#第3个站点的配置
<virtualhost *:80>
ServerName localhost
DocumenetRoot "文件路径"
<Directory “文件路径”>
oprions indexes
order deny,allow
Allow from all
</Directory>
#设置虚拟目录别名
Alias /soft “文件路径”
<Directory “文件路径”>
oprions indexes
order deny,allow
Allow from all
</virtualhost>
目录别名(虚拟目录)的设置:
某个站点www.abc.com所对应文件夹下有一个目录为d1 则可以这样访问目录:
www.abc.com/d1
这个d1 就称为”真实目录“
虚拟目录就是:
该站点不存在某目录名 但却可以使用同样的语法形式 去访问 比如:
www.abc.com/d2 //假设 该站点目录下根本就没有d2这个目录 此时可以访问
实现这种技术 就是所谓”目录别名“ (虚拟目录)的设置 如下:
在一个站点中 做如下2步
1: 设置目录别名 的名字和其对应的“实际真实目录(问嘉佳)的位置”
2: 设置该真实目录的访问权限(否则是禁止访问的);
<Direcotry “真实目录路径”>
…………跟其他目录权限设置一样
</Direcotry>
主机(站点)配置
一个长点的两个核心信息
主机名(服务器名,站点名)severname服务器名
站点位置(站点目录路径)
默认情况下apache安装成功 默认配置好的站点,该站点的实际位置在
apache装位置/htdocs/
默认主机名是安装时设置的
单站点配置项
端口监听:
在papche的主配置文件httpd.conf中,
可以同时写多个listen监听 如果只写入端口 表示本机的多个ip 都是用该端口
否则表示“负责”(监听)该ip 的该端口
设置主机(站点)的名字:服务器名,站点名
severname 服务器名
:也可以设置为SeverName www.abc.com
设置主机(站点)的物理路径:
Documentroot“实际物理路径”
重要观念
站点就“文件夹”要他做站点 就是站点
forbidden 禁制
更换网站路径
在httpd.conf中
更改
DocumentRoot "本地的文件路径"
给权限
<Directory "本地的文件路径">
Options Indexes
Order Deny,Allow
Allow from all
DirectoryIndex index3.html
</Directory>
|
|