Ang*_*osa 62 apache localhost virtualhost
我正在Mac OS X上使用XAMPP.我正在尝试为客户端运行一个symfony网站,我真的不知道(还)symfony,我只是想安装并启动它.
我用这种方式改变了我的etc/hosts:
127.0.0.1 www.mysite.local
Run Code Online (Sandbox Code Playgroud)
和httpd.conf这样:
<VirtualHost *:80>
ServerName www.mysite.local
DocumentRoot /Applications/MAMP/htdocs/mysite/web
DirectoryIndex index.php
<Directory /Applications/MAMP/htdocs/mysite/web>
AllowOverride All
Allow from All
</Directory>
Alias /sf /Applications/MAMP/htdocs/mysite/lib/vendor/symfony/data/web/sf
<Directory "/Applications/MAMP/htdocs/mysite/lib/vendor/symfony/data/web/sf">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
现在,该网站正在运行(耶!),但我无法访问我的其他本地网站,因为localhost 呈现为www.mysite.local.哪里我错了?
谢谢!
Gan*_*tra 91
这对我有用!
运行像这样的项目 http://localhost/projectName
<VirtualHost localhost:80>
ServerAdmin localhost
DocumentRoot path/to/htdocs/
ServerName localhost
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
运行http://somewebsite.com本地项目
<VirtualHost somewebsite.com:80>
ServerAdmin webmaster@example.com
DocumentRoot /path/to/htdocs/somewebsiteFolder
ServerName www.somewebsite.com
ServerAlias somewebsite.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
其他网站也是如此
<VirtualHost anothersite.local:80>
ServerAdmin webmaster@example.com
DocumentRoot /path/to/htdocs/anotherSiteFolder
ServerName www.anothersite.local
ServerAlias anothersite.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
Sai*_*ful 28
localhost将始终重定向到127.0.0.1.您可以通过将其他VirtualHost命名为其他本地环回地址来解决此问题,例如127.0.0.2.确保您还更改了相应的hosts文件以实现此目的.
例如,我httpd-vhosts.conf看起来像这样:
<VirtualHost 127.0.0.2:80>
DocumentRoot "D:/6. App Data/XAMPP Shared/htdocs/intranet"
ServerName intranet.dev
ServerAlias www.intranet.dev
ErrorLog "logs/intranet.dev-error.log"
CustomLog "logs/intranet.dec-access.log" combined
<Directory "D:/6. App Data/XAMPP Shared/htdocs/intranet">
Options Indexes FollowSymLinks ExecCGI Includes
Order allow,deny
Allow from all
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
(请注意,在<VirtualHost>第I部分中键入127.0.0.2:80.这意味着此VirtualHost块只会影响对IP地址127.0.0.2端口的请求80,这是HTTP的默认端口.
要intranet.dev正确地路由名称,我的hosts输入行是这样的:
127.0.0.2 intranet.dev
Run Code Online (Sandbox Code Playgroud)
这样,它将阻止您创建另一个VirtualHost块localhost,这是不必要的.
小智 25
如果你看到它,这是正常的.由于它是第一个虚拟主机条目,因此它将显示本地主机.
让我们说例如你不希望该页面显示.你要显示的只是apache它的工作页面,所以你可以在mysite.local之前创建一个vhost条目作为本地主机并将其指向它的工作页面.
但这很正常.我以前遇到过这个问题所以不要担心!
小智 11
你可能想用这个:
<VirtualHost *:80>
DocumentRoot "somepath\Apache2.2\htdocs"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
Run Code Online (Sandbox Code Playgroud)
作为您的第一个虚拟主机(将其放在另一个虚拟主机之前)
Raj*_*Raj 10
我在使用virtualHost时遇到了访问localhost的相同问题.我通过在virtualHost中添加名称来解决,如下所示 -
在我的hosts文件中,我添加了以下代码(C:\ Windows\System32\drivers\etc\hosts) -
127.0.0.1 main_live
Run Code Online (Sandbox Code Playgroud)
在我的httpd.conf中我添加了以下代码 -
<VirtualHost main_live:80>
DocumentRoot H:/wamp/www/raj/main_live/
ServerName main_live
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
而已.它可以工作,我可以同时使用localhost,phpmyadmin以及main_live(我的虚拟项目).
约翰·史密斯的回答补充说明从官方文档。了解为什么。
主主机消失
如果要将虚拟主机添加到现有Web服务器,则还必须为现有主机创建一个块。此虚拟主机中包含的ServerName和DocumentRoot应该与全局ServerName和DocumentRoot相同。首先在配置文件中列出此虚拟主机,以便它将用作默认主机。
例如,为了与XAMPP一起正常工作,以防止VirtualHost覆盖主主机,请在其中添加以下行 httpd-vhosts.conf
# Main host
<VirtualHost *:80>
ServerName localhost
DocumentRoot "/xampp/htdocs"
</VirtualHost>
# Additional host
<VirtualHost *:80>
# over directives there
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
对于执行此处所描述的所有操作且仍无法访问的人:
使用apache 2.4进行Xampp:
在httpd-vhost.conf上
<VirtualHost *>
DocumentRoot "D:/xampp/htdocs/dir"
ServerName something.dev
<Directory "D:/xampp/htdocs/dir">
Require all granted #apache v 2.4.4 uses just this
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
不需要端口或ip,apache在自己的文件上配置它.不需要NameVirtualHost*:80,不推荐使用它,你可以使用它,但没有任何区别.
然后编辑主机,你必须运行NOTEPAD作为管理员(描述的BELLOW),如果你在没有这样做的情况下编辑文件,你正在编辑一个伪文件,而不是原始文件(是的,它保存和狗屎,但它不是真正的文件)
在Windows中:
找到记事本图标,右键单击,以管理员身份运行,打开文件,转到c:/ windows/system32/driver/etc/hosts,选中"查看所有文件",打开主机.
如果你以前在那里编辑它,可能你会看到它不是你以前没有以管理员身份运行时编辑的文件.
然后检查Apache是否正在读取你的httpd-vhost.conf,转到xampFolder/apache/bin,shift +右键单击,在这里打开终端命令,打开xampp(正常情况下),启动apache,然后在命令行上,键入httpd -S,您将看到虚拟主机列表,只需检查您的something.dev是否存在.
| 归档时间: |
|
| 查看次数: |
127861 次 |
| 最近记录: |