2、php中域名配置、站点配置、主机别名设置、目录别名设置、以及多站点设置



检测apache配置是否出现错误:
例:F:\amp\apache\conf\httpd.conf -t (若配置过环境变量即不用输入完整路径了)

先做域名配置,在做站点,这样站点的名字已经经过域名解析
域名配置:
1、安装完成apache服务器后,默认站点的安装位置是htdocs;
2、例:修改域名为www.php34.com可以访问和localhost同样的站点,只需要以管理员的身份打开hosts文件(位置:window操作系统目录/system32/drivers/etc/hosts),格式如下:127.0.0.1       localhost
       127.0.0.1       www.php34.com
虚拟主机配置:
apache默认的端口为80,可以增加一个端口号;
例:在apache的配置文件http.conf中,找到Listen 80,在其下可以增加一个Listen 8080

1、站点配置:站点的本质对内就是一个文件夹(在apache的http.conf配置文件中设置)
主机(站点)的名字:ServerName  “主机名”
主机(站点)的实际文件夹位置:DocumentRoot  “站点的实际完整路径”
例:打开apache的配置文件进行配置
增加一个站点的名字    ServerName
www.php34.com
站点的实际文件夹位置  DocumentRoot "F:/phplearning"  (自己定义的文件夹)
2、设置访问权限(添加该文件夹的访问权限)
在apache的文件夹下加一段话
<Directory "F:\php34learning">
#下一行用于设定“可显示文件列表”(当无可显示网页的时候)
    Options Indexes
#用于设定权限的判断顺序:先拒绝,后允许
    Order deny,allow
#允许所有(这里没有设定拒绝)
    Allow from all
</Directory>

3、设定默认网页,在apache的配置文件中设置
<IfModule dir_module>
     DirectoryIndex index.html test.php(可以写新建该站点下的文件,作为要用的默认网页)
</IfModule>
访问www.php34.com/day1即可得到test.php页面
注:对于没有指定要访问明确网页的请求,会按顺序从前往后找这些文件,找到后就“返回”给用户。但是,如果最终都没有找到,此时,Options中的Indexes就发挥作用了:显示该文件夹中的所有文件(和文件夹)

3.2、我们也可以将DirectoryIndex设置项放在一个单独的站点或单独的文件夹中,则只对该单独的站点或单独的文件夹起作用。
把 DirectoryIndex test.php放到
<Directory "F:\php34learning">
#下一行用于设定“可显示文件列表”(当无可显示网页的时候)
    Options Indexes
#用于设定权限的判断顺序:先拒绝,后允许
    Order deny,allow
#允许所有(这里没有设定拒绝)
    Allow from all
</Directory>
中去:
<Directory "F:\php34learning">
#下一行用于设定“可显示文件列表”(当无可显示网页的时候)
    Options Indexes
#用于设定权限的判断顺序:先拒绝,后允许
    Order deny,allow
#允许所有(这里没有设定拒绝)
    Allow from all
    DirectoryIndex test.php
</Directory>
访问www.php34.com/day1即可得到test.php页面,只对该站点有效


主机别名设置:
通常,我们在config配置文件中,使用Directory配置项,目的是用来控制文件夹的访问权限。
但我们也可以使用一个独立的文件来控制某文件夹的访问权限。
该文件名必须是:  .htaccess
注意:
1),只有后缀和点号(无文件名部分)
2),该文件必须放在要被控制访问权限的文件夹中(不同的文件夹可以放不同的该文件)
3),其“上级文件夹”(通常是Directory设定中的文件夹)必须使用如下代码允许.htaccess发挥作用:
AllowOverride  All
4),.htaccess文件中出现代码,几乎可以跟Directory设定中出现的代码一样。
5),如果.htaccess文件有效,则其设置会覆盖其上级设置。
6),此.htaccess文件修改后可以立即发挥作用,无需重启apache

例子:
1、建一个.htaccess文件,放在F:\phplearning\day1\文件夹下
.htaccess内容
DirectoryIndex aa.php
2、在apache的配置文件中加入AllowOverride All
<Directory "F:\php34learning">
    Options Indexes
    Order deny,allow
    Allow from all
    AllowOverride All
</Directory>
访问http://www.php34.com/day1将会出现默认的aa.php页面
修改.htaccess文件内容,不用重启apache即可运行


目录别名设置Alias
1、在一个站点中,如果不存在某个文件夹(目录),我们可以通过配置项,来做到“对外”看起来却存在一样,比如:
http://www.php34.com/soft/  假设站点中不存在soft目录
但我们可以让该地址“可访问”
这就是目录别名(虚拟目录)
2、在apache的配置文件中,找到
<IfModule alias_module>
</IfModule>
在其中加入 Alias /soft "E:\apache22-mysql55-php53"
即:
<IfModule alias_module>
#Alias /soft  "真实路径"
Alias /soft "E:\apache22-mysql55-php53"
</IfModule>
3、在apache的配置文件中设置文件夹的访问权限
添加下列一段话
<Directory "E:\apache22-mysql55-php53">
    Options Indexes
    Order deny,allow
    Allow from all
    AllowOverride All
</Directory>

多站点配置:
1、首先在apache的配置文件http.conf中打开多站点配置文件
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
修改为:
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
2、打开apache->conf->extra->httpd-vhosts.conf文件,进行多站点配置的ip和端口,
形式如下:
NameVirtualHost  IP:端口
*可以代表当前服务器的所有IP地址(通常也就一个)
例:NameVirtualHost *:80  (实际上默认就是设置好的)
3、在NameVirtualHost *:80下面加上下面一段文字,往后就依次一个一个站点配置就可以了,如下所示:
注意:一旦进行多站点配置,则原来httpd.conf中的默认站点配置就失效了

#站点1:
#下一行“*:80”要跟前面NameVirtualHost的设置一样
<VirtualHost *:80>
    ServerName   www.php34.com
#设置主机别名,即用该别名也可以访问(前提是域名解析正确)
    ServerAlias php34.com
    DocumentRoot "F:\php34learning"
#下一行的文件夹路径设置要跟上一行的DocumentRoot一样
    <Directory "F:\php34learning">
        Options Indexes
        AllowOverride All   允许该文件夹中的.htaccess文件生效
        Order allow,deny
        allow from all
        deny from 192.168.3.3
        DirectoryIndex index.php test.php    设定默认网页
     </Directory>
</VirtualHost>

#站点2:
#下一行“*:80”要跟前面NameVirtualHost的设置一样
<VirtualHost *:80>
    ServerName   www.guagua.com
    DocumentRoot "F:\amp"
#下一行的文件夹路径设置要跟上一行的DocumentRoot一样
    <Directory "F:\amp">
        Options Indexes
        Order allow,deny
        allow from all
     </Directory>
</VirtualHost>

注:记得做域名配置


怎么做,才能使得配置输入localhost还原到初始页面?
在pache->conf->extra->httpd-vhosts.conf文件中加入以下代码
#站点0:
#下一行“*:80”要跟前面NameVirtualHost的设置一样
<VirtualHost *:80>
    ServerName   localhost
    DocumentRoot "F:\amp\apache\htdocs"
#下一行的文件夹路径设置要跟上一行的DocumentRoot一样
    <Directory "F:\amp\apache\htdocs">
        Options Indexes
        AllowOverride All  
        Order allow,deny
        allow from all
        DirectoryIndex index.html  index.php 
     </Directory>
</VirtualHost>


   

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值