window下的hosts文件
首先找到C:WindowsSystem32driversetc目录下的hosts文件,此文件在当前目录下是无法修改的,所以必须复制出来(到桌面),然后在文件尾部添加上你所需要的站点域名
以hosts文件为例,其本身配置了 127.0.0.1 localhost 前段是表示访问的主机IP,后一段是表示要访问的域名
所以如果需要配置一个www.111com.net的域名只需要加上 127.0.0.1 www.111cn.即可。
最后我在网上了解到windows下的hosts文件其作用就是‘将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统再会将网址提交DNS域名解析服务器进行IP地址的解析。’应该是类似一个 key-value键值对的方式去解析域名,如果能在本机找到相应IP则访问当前IP。
apche的vhost配置文件
先找到vhost所在目录D:xamppapacheconfextra,自己对应安装的xampp的目录去寻找,找到vhost文件后,打开会看到如下系统配置:
DocumentRoot "D:xampphtdocs"
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:workspacephpprojectpublic" ServerName local.test.com ErrorLog "logs/dummy-host.example.com-error.log" CustomLog "logs/dummy-host.example.com-access.log" common Options Indexes FollowSymLinks Includes ExecCGI Require all granted RewriteEngine on RewriteRule ^$ public/ [L] RewriteRule (.*) public/$1 [L] RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L] |
可能不同人的Directory 目录配置不一样,一般系统默认是放在D:xampphtdocs下,但是为了方便放不同的几个项目,我们一般习惯的把系统默认的访问目录配置到我们的工作目录下,以我的为例:D:/workspace/php/下对应不同的项目目录。
最后如果还是不能访问的话,请检查xampp下的httpd.conf文件中的 Include conf/extra/httpd-vhosts.conf这条语句是否被注释掉,如果被注释掉则去掉注释语句。