更多文章查询: 

PHP教程:httpd.conf文件配置

     http://www.enet.com.cn/eschool/  2011年06月22日15:36  来源:网页教学网  作者:佚名  
【文章摘要】首先用“记事本”程序打开“httpd.conf”配置文件。此文件存放在Apache服务器安装路径下的“conf”文件夹内。
首先用“记事本”程序打开“httpd.conf”配置文件。此文件存放在Apache服务器安装路径下的“conf”文件夹内。一、使用 mod_vhost_alias1.简单的动态虚拟主机(1)从 Host: 头中取得服务器名字 Server NameUseCanonicalName Off

(2)这里的日志格式,可以在将来通过第一个参数域来分隔不同的虚拟主机的日志LogFormat "%V %h %l %u %t \"%r\" %s %b" VCommon

CustomLog logs/Access_log vcommon

(3)在返回请求的文件名的路径中包含进服务器名字: server nameVirtualDocumentRoot /www/hosts/%0/docs

VirtualScriptAlias /www/hosts/%0/CGI-bin

2.更为有效的基于 IP 地址的虚拟主机(1)从 IP 地址反解析得到服务器名字(server name)UseCanonicalName DNS

(2)在日志中包含 IP 地址,便于后续分发LogFormat "%A %h %l %u %t \"%r\" %s %b" vcommon

CustomLog logs/access_log vcommon

(3)在文件路径中包含 IP 地址VirtualDocumentRootIP /www/hosts/%0/docs

VirtualScriptAliasIP /www/hosts/%0/cgi-bin

二、使用 mod_rewrite1. 使用 mod_rewrite 实现简单的动态虚拟主机(1)从 Host: 头获取服务器名字UseCanonicalName Off

(2)可分割的日志LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon

CustomLog logs/access_log vcommon

<Directory /www/hosts>ExecCGI is needed here because we can't force

CGI execution in the way that ScriptAlias does

Options FollowSymLinks ExecCGI

</Directory>(3)接下来是关键部分RewriteEngine On

a ServerName derived from a Host: header may be any case at all RewriteMap lowercase int:tolower

首先处理普通文档:允许变名 /icons/ 起作用 - 其他变名类同

RewriteCond %{REQUEST_URI} !^/icons/

允许 CGIS

RewriteCond %{REQUEST_URI} !^/cgi-bin/

开始“变戏法”

RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1

现在处理 CGIs - 我们需要强制使用一个 MIME 类型RewriteCond %{REQUEST_URI} ^/cgi-bin/

RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1 [T=application/x-httpd- cgi]

2.使用独立的虚拟主机配置文件 vhost.map(1)vhost.map 文件包含了类似下面的内容:www.customer-1.com /www/customers/1

www.customer-2.com /www/customers/2

...

www.customer-N.com /www/customers/N

(2)http.conf 包含了:RewriteEngine on

RewriteMap lowercase int:tolower

(3)定义映像文件RewriteMap vhost txt:/www/conf/vhost.ma

(4)和上面的例子一样,处理变名RewriteCond %{REQUEST_URI} !^/icons/

RewriteCond %{REQUEST_URI} !^/cgi-bin/

RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$

(5)这里做基于文件的重新映射RewriteCond ${vhost:%1} ^(/.*)$

RewriteRule ^/(.*)$ %1/docs/$1

RewriteCond %{REQUEST_URI} ^/cgi-bin/

RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$

RewriteCond ${vhost:%1} ^(/.*)$

RewriteRule ^/(.*)$ %1/cgi-bin/$1

.htaccess文件功能

.htaccess文件的功能:"分布式配置文件"提供了针对目录改变配置的方法,即:在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache 的AllowOverride指令来设置.子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。

分享到 分享到QQ空间 分享到QQ空间
责任编辑:郑伟
关键字: PHP教程  httpd配置  服务器 
 关于 PHP教程 httpd配置 相关报道
网友留言
loading...

网站合作、内容监督、商务咨询、投诉建议:010-65245588

Copyright © 2000-- 硅谷动力公司版权所有 京ICP证000088号 京公网安备11010502026777号 京ICP证000088号