Apache 将我的主机文件更改为路由到文件夹而不是ip

Apache 将我的主机文件更改为路由到文件夹而不是ip,apache,ip,xampp,hosts,Apache,Ip,Xampp,Hosts,相当新的自由职业开发人员,我希望添加一个本地版本的网站,我的工作开发环境 我已经设置了本地主机 127.0.0.1 localhost 我使用的语法显然是不正确的 127.0.0.1/wordpress blahblahsite.ca 我应该采取什么样的路由来保留本地主机,但将blahblahsite.ca路由到我的本地文件夹而不是活动站点?如一条评论中所述,主机文件具有将ip地址映射到主机名的功能,即127.0.0.1 主机名具有作为ip地址的友好别名的功能,即blahblahsite.c

相当新的自由职业开发人员,我希望添加一个本地版本的网站,我的工作开发环境

我已经设置了本地主机

127.0.0.1 localhost
我使用的语法显然是不正确的

127.0.0.1/wordpress blahblahsite.ca

我应该采取什么样的路由来保留本地主机,但将blahblahsite.ca路由到我的本地文件夹而不是活动站点?

如一条评论中所述,主机文件具有将ip地址映射到主机名的功能,即127.0.0.1

主机名具有作为ip地址的友好别名的功能,即blahblahsite.ca

主机名与web服务器URL中的主机头同义,即

主机头有两个功能:

  • 将请求解析为web服务器的ip地址。这是通过dns查询完成的,或者在您的情况下,通过优先于dns查询的主机文件完成的
  • 当请求到达web服务器时,将请求映射到正确的虚拟主机以进行进一步处理。这是通过默认虚拟主机(catch all)或基于名称的虚拟主机(其中servername或serveralias设置为blahblahsite.ca)完成的
Web服务器的URL在主机头后有一个斜杠。这称为URI。URI是web服务器中请求的页面的相对路径。URI可以通过多种机制映射,但以最简单的形式镜像web服务器虚拟主机共享的目录的子目录

因此,/wordpress是web服务器以某种方式共享的URI

URL的原理:protocol://hostHeader/URI

如果您的本地计算机上有一个web服务器将URI/wordpress共享到任何主机头或主机头blahblahsite.ca,并且在其主机文件中有以下条目,则两者都是有效的URL:s:

127.0.0.1 blahblahsite.ca

所以,找一本关于Apache的非常好的初学者书籍,阅读并尝试一下你的翅膀,然后继续学习xampp。URI是发生有趣事情的地方,但您首先需要一些web服务器的基础知识。

尽管这个问题已经回答了好几年了。如果有人无意中发现了这个问题,并且真的想在不深入文档的情况下快速进行设置,我将为此付出两便士。下面是: 将此输入主机文件:

127.0.0.1 blahblahsite.ca
在apache文件夹中,找到httpd vhosts.conf文件。在windows上的典型xampp安装中,您会发现:

Drive:\xampp\apache\conf\extra\httpd-vhosts.conf
您应该会发现注释掉的两个或多个eample虚拟主机设置,只需复制/粘贴或取消注释其中一个,并进行如下更改:

<VirtualHost blahblahsite.ca:80>
    ServerAdmin postmaster@dummy-host2.localhost
    DocumentRoot "Drive:\xampp\htdocs\wordpress"
    ServerName blahblahsite.ca
    ServerAlias blahblahsite.ca
    ##ErrorLog "logs/blahblahsite.ca.log"
    ##CustomLog "logs/blahblahsite.ca.log" combined
</VirtualHost>

服务器管理员postmaster@dummy-host2.localhost
DocumentRoot“驱动器:\xampp\htdocs\wordpress”
ServerName blahblahsite.ca
ServerAlias blahblahsite.ca
##ErrorLog“logs/blahblahsite.ca.log”
##CustomLog“logs/blahblahsite.ca.log”组合

请记住将“驱动器:\xampp\htdocs\wordpress”更改为您的网站文件目录。保存文件,重新启动xampp,现在blahblahsite.ca应该可以从浏览器的地址栏工作。虽然这些步骤非常简单,而且不言自明,但如果您有任何问题或遇到任何问题,请务必告诉我。

hosts文件是一个简单的ip->hostame映射。它们与URL无关,只是URL可以包含主机名/IP。这对我很有用。我只想补充一件事(这对许多人来说可能听起来很基本,但对更多人来说可能会节省很多时间):确保配置文件的include在httpd.conf中没有注释。结合Alvaro的评论,这对我也很有用。注意:在Windows本地计算机上运行Apache,我还需要这里解释的最后一个调整:(下面提供了一些有用的上下文,虽然不是第一个链接中看到的有效值:)这个答案应该被接受为解决方案。这是实际的答案,谢谢Asad Malik Bhaail尽管您提供了有效的信息,本网站的目的是提供现成的解决方案,而不是像您在这里所做的那样教育人们。告诉我们买一本书,然后自己基本上“不傻”是没有建设性的,也没有帮助的。
<VirtualHost blahblahsite.ca:80>
    ServerAdmin postmaster@dummy-host2.localhost
    DocumentRoot "Drive:\xampp\htdocs\wordpress"
    ServerName blahblahsite.ca
    ServerAlias blahblahsite.ca
    ##ErrorLog "logs/blahblahsite.ca.log"
    ##CustomLog "logs/blahblahsite.ca.log" combined
</VirtualHost>