【问题标题】:Configure homestead for subdomain routing为子域路由配置宅基地
【发布时间】:2015-09-11 10:37:51
【问题描述】:

请问我如何配置和使用 dynamic 子域路由在宅基地工作。 我在 routes.php 中设置了子域路由

Route::group(['domain' => '{school}.myapp.com'], function () {
Route::get('/', 'HomepageController@enterSchool');
});

【问题讨论】:

    标签: php laravel-5 homestead


    【解决方案1】:

    确保更新/etc/hosts 以添加子域。

    Homestead.yaml

    ip: "192.168.10.10"
    memory: 8192
    cpus: 1
    
    folders:
        - map: path/to/application/repository_name_one
          to: /home/vagrant/Code/repository_name_one
    sites:
        - map: repository_name_one.dev
          to: /home/vagrant/Code/repository_name_one/public
        - map: subdomain.repository_name_one.dev
          to: /home/vagrant/Code/repository_name_one/public
    

    /etc/hosts

    192.168.10.10   myapp.com
    192.168.10.10   school.myapp.com
    

    【讨论】:

      【解决方案2】:

      使用 Laravel Homestead 创建动态子域

      对于本地开发,将域扩展名保留为“.test”

      如果你使用的是 Laravel Homestead:

      在 homestead.yml 中创建一个站点名称为 myapp.test

      sites: 
          -map: myapp.test
           to: /home/vagrant/myapp/public
           wildcard: "yes"
      

      使用“vagrant ssh”登录你的家园,然后将 nginx server_name 编辑为 *.myapp.test

      sudo vi /etc/nginx/sites-available/myapp.test
      

      现在从宅基地退出,在您的本地机器上执行以下提到的步骤。编辑主机文件,即 /etc/hosts

      sudo vi /etc/hosts    
      192.168.10.10   *.myapp.test
      

      现在编辑 dnsmasq 文件如下:

      sudo vi /usr/local/etc/dnsmasq.conf
      

      在 dnsmasq.conf 文件中提及这一点:

      address=/test/192.168.10.10
      

      重启dnsmasq服务:

      [For Ubuntu users]
      sudo /etc/init.d/dnsmasq restart 
      [For Mac users]
      sudo launchctl stop homebrew.mxcl.dnsmasq 
      sudo launchctl start homebrew.mxcl.dnsmasq 
      

      在“/etc/resolver/”目录下创建一个测试文件,如下:

      sudo vi /etc/resolver/test
      nameserver 127.0.0.1 #mention this code in test file
      

      就是这样!!!完毕 !!! 现在,您可以访问任何子域,例如:

      abc.myapp.test
      xyz.myapp.test
      dynamicSubdomain.myapp.test
      myapp.test
      

      【讨论】:

        【解决方案3】:

        我就是这样做的。


        ip: "192.168.10.10"
        memory: 8192
        cpus: 1
        
        folders:
            - map: path/to/application/repository_name_one
              to: /home/vagrant/Code/repository_name_one
        sites:
            - map: repository_name_one.dev
              to: /home/vagrant/Code/repository_name_one/public
            - map: subdomain.repository_name_one.dev
              to: /home/vagrant/Code/repository_name_one/public
        
        Route::group(
            [
                'domain' => 'subdomain.repository_name_one.dev'
            ],
            function () {
        
                [...]
        
            }
        );
        

        【讨论】:

        • 仍然无法访问网页。需要重启宅基地吗?
        • 其实是在尝试实现动态子域路由。
        • 是的。您需要配置机器以加载新配置。
        • 希望我的数据库在配置后不会丢失?对 laravel 和宅基地有点陌生
        • 只是为了确保在配置之前进行备份。
        猜你喜欢
        • 2017-04-24
        • 1970-01-01
        • 1970-01-01
        • 2017-03-30
        • 2017-02-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-04
        相关资源
        最近更新 更多