配置Apache使得apache可以调用php引擎执行php语言
在httpd.conf文件设置
#第一步:
#装载php“模块”——其实就是指php语言包中的一个文件而已!需要给出php5apache2_2.dll的完成路径,这里最后的那个2_2不是瞎写的,之前php
#版本可能过高,后面的是2_4,表示要求apache版本是2.4。
LoadModule php5_module "E:/itcast/amp/php/php5apache2_2.dll"
#第二步:
#告知apache,凡是“.php”后缀文件,找php语言模块(这里称为application/x-httpd-php)
#<FilesMatch "\.php$">
# setHandler application/x-httpd-php
#</FilesMatch>
#第二步的另一个语法形式:作用相同,但更灵活一些:
AddType application/x-httpd-php .php .pap .phtml
#第三步 让apache知道,php.ini的所在位置(此时不要写出php.ini的文件名,只要目录):
PHPIniDir "E:/amp/php"
Apache设置主机和目录
#Apache设置主机和目录
ServerRoot "E:/amp/apache"
#可以设置多个端口和主机地址
Listen 80
#Listen 8088
#Listen 192.168.253.1:1001
如果设置多个站点可以取消httpd.conf的配置
#打开注释,开启这个后再httpd.conf的主机设置会失效
Include conf/extra/httpd-vhosts.conf
然后编辑conf/extra/httpd-vhosts.conf 设置
站点配置主要选项
#ServerName,
#DocumentRoot,
#<Directory>...</Directory>
#第1个站点的配置
#如果没有找到匹配的servername会进入第一个
<VirtualHost *:80>
ServerName www.abc.com
#设定该站点的“别名”,即通过以下域名也可以访问!
ServerAlias map.php.com hehe.php.com
DocumentRoot "E:/it/class/html"
<Directory "E:/it/class/html">
#表示如果没有指定文件,就显示文件夹所有文件。
Options Indexes
#设置权限控制的先后顺序,只有2种:Deny,Allow(先拒绝,后允许),Allow,Deny(先允许后拒绝)
Order Deny,Allow
#Deny用于设定要拒绝访问的来源地址或服务器名,几乎没有实际意义!
Allow From All
#几乎不需要写Deny
</Directory>
</VirtualHost>
#第2个站点的配置
<VirtualHost *:80>
ServerName www.gg.com
DocumentRoot "E:\it\gg"
<Directory "G:\itcast\gg">
Options Indexes
Order Deny,Allow
Allow From All
#设置网站的首页
DirectoryIndex index3.html
</Directory>
</VirtualHost>
#第3个站点的配置,设置网站上显示的虚拟目录,对应某个磁盘某个目录
<VirtualHost *:80>
ServerName localhost
DocumentRoot "E:\amp\apache\htdocs2"
<Directory "E:\amp\apache\htdocs2">
Options Indexes
Order Deny,Allow
Allow From All
</Directory>
#设置一个虚拟目录(目录别名):
Alias /abc "C:\Users\dhluo\Desktop\soft"
<Directory "C:\Users\dhluo\Desktop\soft">
Options Indexes
Order Deny,Allow
Allow From All
</Directory>
</VirtualHost>
上面的配置需要重启apache服务器,可以对服务器单独某个目录设置更详细权限,首先在可以在<Directory ></Directory>添加 AllowOverride all
,然后在某个目录下建立 .htaccess
文件,可以用于单独对这么目录设置权限,不用重启服务器,比如仅支持192.168.1.4访问
Deny from all
Allow from 192.168.1.4