关于在windows环境下配置xampp多站点问题

时间:2022-02-28 16:11:28

前言

  • 由于开发要求,最近开始了php开发,于是就找到了xampp,wamp等集成环境,关于在windows下的xampp和wamp的配置,我过两天在写两篇分别阐述一下,下面就遇到的多站点的配置问题讲一下步骤

window下的hosts文件

  • 首先找到C:\Windows\System32\drivers\etc目录下的hosts文件,此文件在当前目录下是无法修改的,所以必须复制出来(到桌面),然后在文件尾部添加上你所需要的站点域名

  • 以hosts文件为例,其本身配置了 127.0.0.1 localhost 前段是表示访问的主机IP,后一段是表示要访问的域名

  • 所以如果需要配置一个www.test.com的域名只需要加上 127.0.0.1 www.test.com即可。

  • 最后我在网上了解到windows下的hosts文件其作用就是‘将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统再会将网址提交DNS域名解析服务器进行IP地址的解析。’应该是类似一个 key-value键值对的方式去解析域名,如果能在本机找到相应IP则访问当前IP。

apche的vhost配置文件

  • 先找到vhost所在目录D:\xampp\apache\conf\extra,自己对应安装的xampp的目录去寻找,找到vhost文件后,打开会看到如下系统配置:

ServerAdmin local@xinligen.com
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 local@test.com
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> <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这条语句是否被注释掉,如果被注释掉则去掉注释语句。

以上就是windows下wampp的配置过程,如有疑问,请在下方留言,我后续补上。