【发布时间】:2014-10-26 16:35:21
【问题描述】:
我目前正在为本地开发运行多个域
http://wordpress.dev
http://phpmyadmin.dev
http://projectx.dev
http://projecty.dev
...
这些项目大部分位于用户“站点”目录中,但有些位于其他位置:
/Users/[username]/Sites/wordpress
/Users/[username]/Sites/phpmyadmin
/Users/[username]/Sites/projectx
/Users/[username]/OtherDirectory/projecty
我目前正在通过向 /etc/hosts 和 /etc/apache2/extra/httpd-vhosts.conf 添加专用条目来进行所有设置
/etc/hosts:
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
# Virtuelle Hosts
127.0.0.1 wordpress.dev
127.0.0.1 phpmyadmin.dev
127.0.0.1 projectx.dev
....
/etc/apache2/extra/httpd-vhosts.conf:
<VirtualHost *:80>
ServerName [PROJECT].dev
ServerAlias [PROJECT].dev
DocumentRoot /Users/[username]/Sites/[PROJECT]/
<Directory /Users/[username]/Sites/[PROJECT]/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
...
有没有办法使用某种通配符设置将域映射到某个目录,例如
http://foo.dev => /Users/[username]/Sites/foo
http://bar.dev => /Users/[username]/Sites/bar
...
在保持projecty 工作的同时(当然还有一些额外的设置),所以我只需要在Sites 中创建一个文件夹,它可以通过http://[foldername].dev 立即访问
[username] 可以硬编码
【问题讨论】:
标签: apache localhost virtualhost