我的 localhost 中有一个名为sample的 PHP 项目,可以使用 url localhost/workspace/sample运行。我怎样才能通过设置一个本地域来运行它,比如 example.com。我正在使用灯。
4 回答
您想研究更改您的 /etc/hosts 文件以指向您的本地主机。
本质上,您将在请求有机会进入 DNS 之前捕获该请求,它将重定向到您的本地主机。
谷歌上有很多很好的例子。
sudo nano /etc/hosts
添加行:
127.0.0.1 example.com
按ctrl+x
,y
保存,然后enter
这将使所有请求都example.com
指向127.0.0.1
(即localhost
),因此,如果您想通过网络(或从虚拟机)使其工作,只需重复上述步骤,尽管使用主机 IP 地址代替127.0.0.1
如果您想从另一台计算机访问该站点,您可以使用服务器的 IP 地址。执行此操作的 bash 命令是ifconfig
或ip addr
例如,如果您的本地地址是 ,192.168.0.3
那么您可以通过 访问该站点192.168.0.3/workspace/sample
。
我在不更改本地主机域名的情况下解决了这个问题。
完成的步骤是:
1)在/etc/hosts文件中添加主机名
例如:127.0.0.1 example.com
2) 编辑/etc/apache2/httpd.conf文件并添加以下行。
NameVirtualHost *:80
<VirtualHost *:80>
ServerName localhost
DocumentRoot /var/www
<VirtualHost *:80>
ServerName example.com
DocumentRoot "/home/user/workspace/sample"
<Directory /home/user/workspace/sample>
Options Indexes FollowSymLinks Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
3) 在/etc/apache2/sites-available文件夹中使用您的域名创建一个文件,例如 example.com,其中包含以下几行。
<VirtualHost *:80>
ServerName example.com
DocumentRoot /home/user/workspace/sample
<Directory /home/user/workspace/sample>
Options Indexes FollowSymLinks Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
4)重启apache服务器