模块加载 基本的配置要完整
.htaccess文件提供了针对每个目录的配置方法
vhost的配置
http.conf中要打开的模块
LoadModule include_module modules/mod_include.so 加载require方法的打开
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so 代理模块的打开
LoadModule rewrite_module modules/mod_rewrite.so url 重定向模块
LoadModule setenvif_module modules/mod_setenvif.so 根据客户端请求头信息设置环境变量
配置一些基本参数,主要是路径问题。
DocumentRoot "D:/webroot" 这个路径是放你项目的目录,
<Directory />
Options FollowSymLinks
AllowOverride All
# Order deny,allow
# Deny from all
</Directory>
这个地方要注意路径的问题是d:/php/ext 而不是d:\php\ext
D:/php/php5apache2_2.dll 这个模块可能因不同的apache版本会有不同,D:/php/php5apache2.dll
配置环境变量或指定PHPIniDir
mysql 的安装主要是注意字符的设置和端口的选定
以及apache的安装过程中端口尽量选默认的80 ,当apache出错的时候,要查询错误日志\Apache2.2\logs 下的error.log
////////////////////////////mod_rewrite的作用是解析跳转url的请求,结合vhost的配置 我们可以使一个ip对应多个项目的域名
在httpd.conf下要打开相应的模块
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
<Directory "E:/webroot">在这里面要设置跳转的级别
Options Indexes FollowSymLinks
控制器的重写可以写在.htaccess文件中 不过使用该文件性能会下降很多
AllowOverride All
服务请求的优先级
Order deny,allow
Allow from all
虚拟目录打开
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
然后就是去ext/httpd-vhosts.conf里面配置跳转规则了
<VirtualHost *:80>*代表了ip地址 本机相同的可以用*来代替
ServerName swing.com 请求的域名要和hosts文件里面的相对应
#ServerAlias swing.com *.swing.com
DocumentRoot E:/webroot/cakephp/app/webroot 项目对应的地址
DirectoryIndex index.php index.html index.htm 请求的默认文件 如果这个地方不写可能回报权限不足,因为apache默认是不能打开目录的
<Directory "E:/webroot/cakephp/app/webroot">重写的目录地址
Options FollowSymLinks
AllowOverride All
Order deny,allow
Allow from all
RewriteEngine On 打开重写
RewriteRule ^(.*) index.php 重写的规则 把所有的url请求转发到index.php下面
</Directory>
名词解释:
directory
</VirtualHost>
</Directory>