我在Mac上设置本地开发环境时遇到问题。
我所拥有的(添加):
/ private / etc / hosts:
127.0.0.1 dev.local
127.0.0.1 page1.dev.local
/Applications/MAMP/conf/apache/httpd.conf:
NameVirtualHost *
<VirtualHost dev.local:8888>
ServerName dev.local
DocumentRoot /Users/user1/Sites/
<Directory /Users/user1/Sites/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
<VirtualHost page1.dev.local:8888>
ServerName page1.dev.local
DocumentRoot /Users/user1/Sites/page1/
<Directory /Users/user1/Sites/page1/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
基本上,我希望通过http://dev.local可以在/ Users / user1 / Sites上访问“root”
可通过http://page1.dev.local访问的第一个项目(第1页),位于/ Users / user1 / Sites / page1
接下来的项目遵循相同的逻辑。
当我打开http://dev.local时,我会看到正确的页面,但是使用http://page1.dev.local时,我会得到同一页面。
我当然总是重启Apache!
最佳答案
我找到了一个可行的解决方案:我必须插入ServerAlias
并在VirtualHost
之后添加星号
NameVirtualHost *
<VirtualHost *:8888>
ServerName dev.local
ServerAlias dev.local
DocumentRoot /Users/user1/Sites/
<Directory /Users/user1/Sites/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
<VirtualHost *:8888>
ServerName page1.dev.local
ServerAlias page1.dev.local
DocumentRoot /Users/user1/Sites/page1/
<Directory /Users/user1/Sites/page1/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
关于macos - 在Mac上使用不同子目录设置虚拟主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11383372/