我正在尝试获取通配符子域以在我的mac上本地解析(OS X Yosemite)。
用户创建自己的网站,根据用户名,他们将拥有username.project.mac(或* .project.mac)。
我让Homestead正常使用www.project.mac
,app.project.mac
和project.mac
,因为这些是预先设定的路线,但我需要username.project.mac
是动态的。
.hosts
# Homestead
192.168.10.10 project.mac
192.168.10.10 app.project.mac
192.168.10.10 www.project.mac
Homestead.yaml
---
ip: "192.168.10.10"
memory: 2048
cpus: 2
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: /Users/me/Code
to: /home/vagrant/Code
sites:
- map: project.mac
to: /home/vagrant/Code/project/user.project.com/public
- map: app.project.mac
to: /home/vagrant/Code/project/app.project.com/public
- map: www.project.mac
to: /home/vagrant/Code/project/www.project.com/public
databases:
- homestead
variables:
- key: APP_ENV
value: local
routes.php文件
Route::group(['domain' => '{username}.project.mac'], function ($username) {
return $username;
});
我甚至已经完成了这个教程:http://passingcuriosity.com/2013/dnsmasq-dev-osx/“似乎”工作到最后一点,当我尝试ping它时我无法解析test.testing.mac
。我ping的时候project.mac
确实解决了。
我已根据此回复将/etc/nginx/sites-available/project.mac
修改为server_name project.mac *.project.mac;
:https://laracasts.com/discuss/channels/general-discussion/homestead-and-subdomains/replies/46620
我不知道还有什么可以尝试。
答案 0 :(得分:0)
首先确定了问题 通常,通配符域可能无法用作* .domain.com。但你可能要尝试
server_name ~^(.*)\.example\.com$ example.com ;
即使您在/etc/nginx/sites-available/project.mac中添加了make更改,也要确保在启用站点的目录中也可以使用此符号链接。除非在启用站点的目录中存在符号链接,否则您对prokect.mac文件的更改不会反映。
转到已启用网站的目录和
sudo ln -s ../sites-available/project.mac
您可能需要使用
重新加载nginx服务器配置sudo nginx -s reload