实际上,我在htdocs目录中有许多子文件夹,每个文件夹都包含一个index.php
文件,并有一个单独的操作。
如何设置域名,使其指向所有这些子文件夹?
比方说我有c:serverht docsfolder1
,c:serverht docsfolder2
等等。我希望我的域名像localhost
一样。当键入www.domain name.com/folder1
时,我将转到所有文件夹的c:serverfolder1
,依此类推。
我试用了localhost
,它有效。
步骤1:
- 编辑位于
C:WindowsSystem32driversetc
作为管理员 -
在主机文件中添加以下行并保存:
127.0.0.1 www.domain_name.com
步骤2:
- 打开位于
C:xamppapacheconfextra
中的"httpd vhosts.conf"文件
添加以下行并保存。
<VirtualHost *:80>
ServerName www.domain_name.com
ServerAlias www.domain_name.com
DocumentRoot c:/xampp/htdocs
</VirtualHost>
现在使用XAMPP控制面板重新启动apache服务器
您可以使用VirtualHost配置或重定向URL 进行解析
所有关于将域添加到examplep子文件夹的答案都缺少一些步骤,所以我将添加我的,这或多或少是完整的。
- 如果更改了
httpd.conf
或httpd-vhosts.conf
文件,请将它们返回到默认值。具体来说,在httpd.conf
中,确保您的DocumentRoot
指向默认位置,我们将使用vhosts
文件将域指向不同的子文件夹:
DocumentRoot "/opt/lampp/htdocs/"
<Directory "/opt/lampp/htdocs/>
在
httpd.conf
文件(主apache配置)中查找并取消注释:#Include etc/extra/httpd-vhosts.conf
至:Include etc/extra/httpd-vhosts.conf
在
etc/extra/httpd.vhosts
文件中,添加域并指定其DocumentRoot
(应该是htdocs
中的一个文件夹):
<VirtualHost *:80>
ServerAdmin webmaster@example.ge
DocumentRoot "/opt/lampp/htdocs/example-landing-testing"
ServerName example.local
ErrorLog "logs/example.testing-error_log"
CustomLog "logs/example.testing-access_log" common
</VirtualHost>
在系统的
hosts
文件中,添加以下内容:127.0.0.1 example.local
重新启动apache
无需重新启动系统
可选:如果您在WSL中运行examplep,您还需要修改windows的主机文件以指向WSL的IP:
以管理员身份打开记事本
打开文件:
C:WindowsSystem32driversetchosts
在wsl终端实例中,运行此方便的命令以获取其IP:
ip addr show eth0 | grep 'inetb' | awk '{print $2}' | cut -d/ -f1
将IP添加到主机文件:
172.20.13.40 example.local
保存,无需重新启动系统