-
在windows环境下xampp如何配置多站点
新手开发php时,装环境是一个比较麻烦的问题,幸好牛人多,把php环境打在包里面一键安装,现在我们来看看一键php环境安装XAMPP(Apache+MySQL+PHP+PERL)在windows环境下如何配置多站点.
window下的hosts文件
首先找到C:WindowsSystem32driversetc目录下的hosts文件,此文件在当前目录下是无法修改的,所以必须复制出来(到桌面),然后在文件尾部添加上你所需要的站点域名,以hosts文件为例,其本身配置了 127.0.0.1 localhost 前段是表示访问的主机IP,后一段是表示要访问的域名.
所以如果需要配置一个www.phpfensi.com的域名只需要加上 127.0.0.1 www.phpfensi.即可.
最后我在网上了解到windows下的hosts文件其作用就是‘将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统再会将网址提交DNS域名解析服务器进行IP地址的解析,’应该是类似一个 key-value键值对的方式去解析域名,如果能在本机找到相应IP则访问当前IP.
apche的vhost配置文件
先找到vhost所在目录D:\xampp\apache\conf\extra,自己对应安装的xampp的目录去寻找,找到vhost文件后,打开会看到如下系统配置:
- DocumentRoot "D:\xampp\htdocs"
- ServerName localhost
- ErrorLog "logs/dummy-host2.example.com-error.log"
- CustomLog "logs/dummy-host2.example.com-access.log" common
- Options Indexes FollowSymLinks Includes ExecCGI
- Require all granted
- Order allow,deny
- Allow from all
- AllowOverride AuthConfig
如果你看过很多配置文件的话,相信能一眼就看清楚,因为我们之前配置了windows下的hosts文件的虚拟主机域名为www.test.com所以在vhost文件中应该这样配置:
- ServerAdmin
- DocumentRoot "D:\workspace\php\project\public"
- ServerName local.test.com
- ErrorLog "logs/dummy-host.example.com-error.log"
- CustomLog "logs/dummy-host.example.com-access.log" common
- <Directory "D:\workspace\php\project\public">
- Options Indexes FollowSymLinks Includes ExecCGI
- Require all granted
- </Directory>
- <IfModule mod_rewrite.c>
- <Directory "D:\workspace\php\project">
- RewriteEngine on
- RewriteRule ^$ public/ [L]
- RewriteRule (.*) public/$1 [L]
- </Directory>
- //开源软件:phpfensi.com
- <Directory "D:\workspace\php\project\public">
- RewriteEngine On
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]
- </Directory>
- </IfModule>
可能不同人的Directory 目录配置不一样,一般系统默认是放在D:\xampp\htdocs下,但是为了方便放不同的几个项目,我们一般习惯的把系统默认的访问目录配置到我们的工作目录下,以我的为例:D:/workspace/php/下对应不同的项目目录.
最后如果还是不能访问的话,请检查xampp下的httpd.conf文件中的 Include conf/extra/httpd-vhosts.conf这条语句是否被注释掉,如果被注释掉则去掉注释语句.