我想知道我是否做错了什么
我http://localhost
指向目录D:\Projects\Websites
然后我想在http://learningzf
中创建一个内部网站D:\Projects\Websites\php\ZendFramework\LearningZF\public
。这样我就可以使用/users/login
之类的URL而不是指定完整的URL
我发现如果我将vhosts
中的条目添加到http://learningzf
到D:\Projects\Websites\php\ZendFramework\LearningZF\public
,则localhost也会指向D:\Projects\Websites\php\ZendFramework\LearningZF\public
<VirtualHost *:80>
DocumentRoot "D:/Projects/Websites/php/ZendFramework/LearningZF/public"
ServerName localhost
</VirtualHost>
<Directory "D:/Projects/Websites/php/ZendFramework/LearningZF/public">
AllowOverride All
Options All
Order allow,deny
Allow from 127.0.0.1
</Directory>
<VirtualHost *:80>
DocumentRoot "D:/Projects/Websites"
ServerName localhost
</VirtualHost>
<Directory "D:/Projects/Websites">
AllowOverride All
Options All
Order allow,deny
Allow from 127.0.0.1
</Directory>
我注意到如果我将learningzf
的条目移到localhost
以下,则learningzf
和localhost
都会指向D:/Projects/Websites
更新
在@KikoV answer之后,我修改了它以使其正常工作......
NameVirtualHost 127.0.0.1:80
<VirtualHost localhost:80>
ServerName localhost
DocumentRoot "D:/Projects/Websites"
<Directory "D:/Projects/Websites">
AllowOverride All
Options All
Order allow,deny
Allow from 127.0.0.1
</Directory>
</VirtualHost>
<VirtualHost learningzf:80>
ServerName learningzf
DocumentRoot "D:/Projects/Websites/php/ZendFramework/LearningZF/public"
<Directory "D:/Projects/Websites/php/ZendFramework/LearningZF/public">
AllowOverride All
Options All
Order allow,deny
Allow from 127.0.0.1
</Directory>
</VirtualHost>
答案 0 :(得分:1)
您应该使用NameVirtualHost指令。 如果主机“learningzf”指向localhost,(127.0.0.1),则可以使用:
注意:在_default _中,最后一个下划线应该转到。
NameVirtualHost 127.0.0.1:80
<VirtualHost _default _:80>
ServerName localhost
<Directory "D:/Projects/Websites">
AllowOverride All
Options All
Order allow,deny
Allow from 127.0.0.1
</Directory>
</VirtualHost>
<VirtualHost learningzf:80>
ServerName learningzf
<Directory D:/Projects/Websites/php/ZendFramework/LearningZF/public">
AllowOverride All
Options All
Order allow,deny
Allow from 127.0.0.1
</Directory>
</VirtualHost>
通过这种方式,您可以访问http://localhost和http://learningzf,Apache将知道应该使用哪个。 (默认情况下,它将转到D:/ Projects / Websites)。
注2:记得在“c:/ windows / system32 / drivers / etc / hosts”文件中添加“127.0.0.1 learningzf”行,以便解析主机名。