一个站点的2个核心信息为:
主机名(做事器名/站点名): ServerName 做事器名
站点位置(站点目录路径): DocumentRoot “实际物理路径”
默认情形下,apache安装成功,就默认配置好了一个“站点”,该站点的实际位置在:
apache安装位置/htdocs/
默认主机名是安装时设置的,比如www.abc.com,当然,也可以利用localhost
单站点配置项
端口监听:
在apache的主配置文件httpd.conf中:
也可以写为:
实际运用中,我们险些都是80。
设置主机(站点)的名字:做事器名,站点名
ServerName 做事器名
举例:
也可以设置为:
设置主机(站点)的物理路径:
形式:
DocumentRoot “实际物理路径”
主要不雅观念:
站点便是“文件夹”——我让它当站点,它便是站点。
比如:
原始的站点在这里:
修正为:
在浏览“localhost”,创造被进制访问(Forbidden),然后添加访问权限,如下:
就可以了。
目录访问权限
一个站点,便是一个“目录”。
每个目录,都该当给其设定“访问权限”,语法如下:
<Directory “要设置权限的目录路径”>
#设置当一个要求中没有给定要求的文件名又没有默认网页(首页)的时候,显示文件列表
Options Indexes
#设置权限掌握的先后顺序,只有2种:Deny,Allow(先谢绝,后许可),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 abc.php 123.html
</Directory>
目录访问权限中的“分布式权限”:
对付某个目录的访问权限,我们在apache中利用Directory来设定,但可能不足方便:
1,apache配置修正,必须重启apache
2,某个站点中的“下级目录”访问权限,未便利单独设置,
这种,可以称为“集中式权限”;
分布式权限,便是:针对某个网站的任何一个下级目录,都可以单独去设置其访问权限,并且可以不重启apache就生效。
做法:分2步:
第1步:
在该站点对应目录权限的Directorty配置中添加一条:
第2步:
在该目录下的任何子目录中,创建一个分外的文件( .htaccess ),在该文件中写所须要的“权限内容”(险些跟Directory中的写法一样):
举例:
www.php39.com/day1/中,初始可以浏览结果如下:
然后,在该文件夹中添加一个文件: .htaccess 其内容为:
(该ip不知是谁,反正不是我!
)
在该day1文件夹中,就多了一个文件:
然后,重新访问刚才路径(刷新):
多站点的配置
分3步:
第1步:
在apache的主配置文件httpd.conf中,“打开”多站点虚拟主机配置文件项(关键词:vhosts):
初始:
修正为:
第2步:
在httpd-vhosts.conf文件中,设定希望供应“多站点”做事的IP地址和端口号,常日默认便是::80,个中“”代表所有IP,默认实在apache安装好之后就设置好了,无需手动设置(关键字NameVirtualHost):
第3步:
然后就一个站点一个站点加上!
形式如下:
<virtualhost :80>
#这里设置站点1的各项信息
</virtualhost>
<virtualhost :80>
#这里设置站点2的各项信息
</virtualhost>
...........
把稳:
1,先把httpd-vhosts.conf文件中的2个初始安装天生的站点,删除!
!
!
2,每个站点的设置项,紧张就3个:
ServerName,
DocumentRoot,
<Directory>...</Directory>
3,在多站点配置中,第一个站点被称为“默认站点”,如果某个要求的域名无法跟任何一个站点“匹配”,就会当做要求的是默认站点去处理(应答)
4,一旦实现了多站点配置,则最初安装成功时的“默认站点”就失落效了,我们可以将“localhost”当做一个普通站点重新设置就可以了,也可以将其放在第一个位置又重新作为默认站点。
举例:
站点别名的设置:
目录别名(虚拟目录)的设置:
某个站点www.abc.com所对应文件夹下有一个目录为d1,则可以这样访问该目录:
www.abc.com/d1
这个d1就称为“真实目录”;
虚拟目录便是:
该站点下不存在某目录名,但却可以利用同样的语法形式,去访问,比如:
www.abc.com/d2 //假设该站点目录下根本就没有d2这个目录,此时却可以访问
实现这种技能,便是所谓“目录别名”(虚拟目录)的设置,如下:
在一个站点中,做如下2步:
第1步:
设置目录别名的名字和其对应的“实际真实目录(文件夹位置)”:
Alias /目录别名的名字 “实际真实目录(文件夹)的位置”
第2步:
设置该真实目录的访问权限(否则是禁止访问的):
<Directory “真实目录路径”>
。。。。。。跟其他目录权限设置一样
</Directory>
查看更详细配置过程请关注"大众号“爱搞机个人版” 建议+关注,不迷路!