代码之家  ›  专栏  ›  技术社区  ›  Mikail G.

带有子域的宅基地

  •  0
  • Mikail G.  · 技术社区  · 7 年前

    我使用homestead和Laravel 5.4,我需要启用子域,在我的主windows 10机器中,我添加了一个主机( C:\WINDOWS\system32\drivers\etc\hosts

    192.168.10.10   myapp.dev
    192.168.10.10   website.myapp.dev
    

    所以,当我导航到这个网站时,它可以正常工作。myapp。dev它显示主页,就像我去myapp一样。dev,还有我的homestead服务器是apache2,而不是nginx

    在这条路线上当我去网站的时候。myapp。dev I在日志中获得预期输出(website.myapp.dev):

    Route::get('/',   function(Illuminate\Http\Request $request){
        \Log::info($request->fullUrl()); // logs website.bikser.dev
    
    });
    

    Route::domain('{account}.myapp.dev')->group(function () {
    
        Route::get('/{account}',    'WebsiteController@view');
    });
    

    所以我需要这条路径来工作,这样我就可以使用子域,我没有改变任何东西。htaccess文件,因为我不知道我是否应该,我也尝试过编辑 apache2.conf

    <VirtualHost *:80>
    
    ServerName myapp.dev
    
    ServerAlias *.myapp.dev
    
    </VirtualHost>
    

    但还是我的 {account}.myapp.dev 路线未启动,请帮助

    刚按照@headmax的建议添加了此代码,但当我导航到myapp时。dev它说

    NotFoundHttpException,这是我添加的代码:

     <VirtualHost *:80> 
    ServerName myapp.dev 
    DocumentRoot home/vagrant/code/public 
    <Directory "home/vagrant/code/public/">  
      Options +Indexes +Includes +FollowSymLinks +MultiViews
      AllowOverride All 
      #Require local  
      Require all granted 
    </Directory>
    </VirtualHost>
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   user8556290 user8556290    7 年前

    首先更改新文档根目录的右侧:

    sudo chown -R $USER:$USER home/vagrant/code/public
    

    注意:Debian 8中的默认Apache配置要求每个 虚拟主机文件结束于。形态。

    我们 这个 默认vhost 000默认值。形态

    sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/myapp.dev.conf
    

    您需要编辑文件并在此处添加您的 虚拟主机粘贴

    sudo nano /etc/apache2/sites-available/myapp.dev.conf
    

    <VirtualHost *:80>
        ServerAdmin admin@myapp.dev
        ServerName myapp.dev
        ServerAlias www.myapp.dev
        DocumentRoot /home/vagrant/code/public
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>
    

    sudo a2ensite myapp.dev.conf
    

    :正在启用站点myapp。dev.要激活新配置, 您需要运行:service apache2 reload

    service apache2 reload //to reload configuration
    sudo systemctl restart apache2 //to apply the configuration change
    

    你需要一个 根目录 告诉apache站点文件存储在哪里。 此处为示例 公用文件夹

    <VirtualHost *:80> 
    ServerName myapp.dev 
    DocumentRoot home/vagrant/code/public 
    <Directory "home/vagrant/code/public/">  
      Options +Indexes +Includes +FollowSymLinks +MultiViews
      AllowOverride All 
      #Require local  
      Require all granted 
    </Directory>
    </VirtualHost>