OS X Yosemite上的Homestead Laravel 5.1中的通配符动态子域

前端之家收集整理的这篇文章主要介绍了OS X Yosemite上的Homestead Laravel 5.1中的通配符动态子域前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试获取通配符子域以在我的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

我不知道还有什么可以尝试的.

最佳答案
第一个问题已经确定
通常,通配符域可能无法用作* .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

猜你在找的Nginx相关文章