window系统安装apache服务器完成之后,需要进行配置才能符合我们的使用要求,apache配置主要包括虚拟主机配置;定义目录的默认访问文件;开启 URL 改写(重写)和配置各个虚拟主机的 PHP 脚本能够触及的目录范围等几个方面。下面跟seo建站小孟一起来了解一下。


apache配置虚拟主机,首先要配置 httpd.conf 文件引入虚拟主机配置文件:

apache配置虚假主机

 
然后打开文件httpd-vosts. conf对虚拟主机进行配置
<VirtualHost *:80>
DocumentRoot "D:/www/default"
ErrorLog "D:\log\web\default-error.log"
CustomLog "D:\log\web\default-access.log" common
<Directory "D:/www/default">
Require all granted
#
Options Indexes FollowSymLinks
</Directory>
</VirtualHost>
 
<VirtualHost *:80>
DocumentRoot "D:/www/test.com"
ServerName test.com
ServerAlias www.test.com
ErrorLog "D:\log\web\test.com-error.log"
CustomLog "D:\log\web\test.com-access.log" common
<Directory "D:/www/test.com">
Require all granted
AllowOverride All
#
Options Indexes FollowSymLinks
</Directory>
</VirtualHost>
注:
1)第一个虚拟主机是默认虚拟主机
2)ServerAlias 可以配置多个域名,用空格分隔

定义目录的默认访问文件:打开apache配置文件 httpd.conf,找到下面对应的地方进行配置
 
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
DirectoryIndex后面的文件用空格隔开,哪个在前面,哪个优先级更高。

apache服务器开启开启 URL 改写(重写)

apache服务器开启开启 URL 改写

注:
1)将AllowOverride All配置项放在对于虚拟主机的对应的<Directory>标签里,否则即使开启的 Url 重写模块.htaccess 文件也会被忽略
(<VirtualHost *:80>
DocumentRoot "D:/www/test.com"
ServerName test.com
ServerAlias www.test.com
ErrorLog "D:\log\web\test.com-error.log"
CustomLog "D:\log\web\test.com-access.log" common
<Directory "D:/www/test.com">
Require all granted
AllowOverride All
#
Options Indexes FollowSymLinks
</Directory>
</VirtualHost>)
2).htaccess 文件是用来定义 URL 重写的具体配置项的文件,通常放在各个网站的根目录
3)修改.htaccess 文件无需重启 Apache

配置各个虚拟主机的 PHP 脚本能够触及的目录范围,避免虚拟空间被破解后,影响到其他虚拟空间:

php_admin_value open_basedir "D:\www\test.com;D:\tmp"
注:
1)将这个配置项放到对于的虚拟主机配置标签里

(<VirtualHost *:80>
DocumentRoot "D:/www/test.com"
ServerName test.com
ServerAlias www.test.com
ErrorLog "D:\log\web\test.com-error.log"
CustomLog "D:\log\web\test.com-access.log" common
<Directory "D:/www/test.com">
Require all granted
AllowOverride All
#
Options Indexes FollowSymLinks
</Directory>
php_admin_value open_basedir "D:/www/test.com"
</VirtualHost>)

可以用下面函数测试下
echo file_get_contents('C:\password.txt');