apache默认配置是不能开多个站点的,如果要开启多站点,就要配置一下虚拟主机件,本教程前面部分来告诉大家如何开启虚拟主机,后来我们顺便来讲讲开启rewrite模式,因为rewrite应用太广范了.
Apache配置虚拟主机
修改httpd.conf,启用Virtual hosts
#Include conf/extra/httpd-vhosts.conf,查找这行,把前面的#去掉.
注释 DocumentRoot "D:/Program Files/Apache/Apache2.2/htdocs"
注释:
- #<Directory />
- # Options FollowSymLinks
- # AllowOverride None
- # Order deny,allow
- # Allow from all
- #</Directory>
配置 /conf/extra/httpd-vhosts.conf,代码如下:
- <VirtualHost 192.168.1.2:80> # 第一个虚拟主机
- ServerAdmin xxx@gmail.com # 管理员邮箱
- ServerName xxx.xx.com # 绑定的域名
- DocumentRoot "d:/www/wordpress" # 网站目录
- ServerAlias xxx.Vevb.com #网站别名,可以不设置
- ErrorLog "logs/dummy-host.localhost-error.log" #日志
- CustomLog "logs/dummy-host.localhost-access.log" common
- </VirtualHost>
Apache开启rewrite模式
打开Apache配置文件:Apache安装目录/conf/httpd.conf,搜索rewrite:会找到"#LoadModule rewrite_module modules/mod_rewrite.so",将前面的“#”去掉.
搜索AllowOverride:将"AllowOverride none"改成"AllowOverride all"。注意:这个AllowOverride是在<Directory "~/htdocs">标签之内的那个。“~”为Apache的安装目录
在入口文件目录加入.htaccess文件,如果.htaccess文件创建不了,可以到网上下一个,文件中写入重写规则,代码如下:
- <IfModule mod_rewrite.c>
- RewriteEngine on
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
- </IfModule>
我的PHP项目的入口文件是index.php,最后重启Apache服务器.
新闻热点
疑难解答