2017-09-20 2 views
0

J'utilise ferme et Laravel 5.4 et je dois activer les sous-domaines, dans mes fenêtres principales 10 machines j'ai ajouté des hôtes dans (C:\WINDOWS\system32\drivers\etc\hosts) Enregistrement:Homestead avec subdomains

192.168.10.10 myapp.dev 
192.168.10.10 website.myapp.dev 

donc cela fonctionne ok, quand Je navigue à website.myapp.dev il affiche la page d'accueil comme si je vais à myapp.dev, et également mon serveur de homestead est apache2 pas nginx

Dans cette route quand je vais à website.myapp.dev j'obtiens la sortie attendue (website.myapp.dev) dans le journal:

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

}); 

mais mon cette route ne se déclenche pas quand je vais à website.myapp.dev:

Route::domain('{account}.myapp.dev')->group(function() { 

    Route::get('/{account}', '[email protected]'); 
}); 

donc j'ai besoin de cette route pour travailler pour que je puisse utiliser des sous-domaines, je ne change rien dans htaccess coz Je ne sais pas si je devrais aussi j'ai essayé de modifier apache2.conf et ajouter ces lignes:

<VirtualHost *:80> 

ServerName myapp.dev 

ServerAlias *.myapp.dev 

</VirtualHost> 

mais ma route {account}.myapp.dev ne se déclenche pas, pls aider

EDIT:

vient d'ajouter ce code comme cela a été suggéré par: @headmax, mais quand je navigue à myapp.dev il dit

NotFoundHttpException, c'est le code que j'ajouté:

<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> 

Répondre

0

d'abord changer la à droite de votre nouvelle racine doc:

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

note: La configuration par défaut Apache dans Debian 8 exige que chaque Le fichier hôte virtuel se termine par .conf.

Nous copie la par défaut vhost pour votre propre site.conf 000 default.conf

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

Vous devez modifier le fichier et ajoutez ici votre VirtualHost pâte

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

Nous avons besoin du regard de façon simple comme ceci:

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    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> 

Maintenant que nous avons créé nos fichiers hôtes virtuels, nous pouvons activer.

sudo a2ensite myapp.dev.conf 

Sortie: Activation myapp.dev du site.Pour activer la nouvelle configuration, vous devez exécuter: Service apache2 reload

Redémarrez Apache

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

Maintenant vous êtes test effectué sur le site.

Vous avez besoin d'un répertoire racine pour indiquer à apache où sont stockés les fichiers de votre site. Voici l'exemple myapp.dev est un dossier et le dossier public sont (un enfant) où les fichiers publics sont stockés.

<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> 
+0

Voir ci-dessus, je l'ai mis à jour ma question –

+0

@Mikail Mika i Edité et vous adapter le contexte, je viens d'ajouter la balise et manqués et la

+0

merci mec, mais ça ne marche toujours pas, quand je suis arrivé à 'website.myapp.dev' ou' myapp.dev' il lance 'NotFoundHttpException' mais d'autres routes comme 'myapp.dev/something' fonctionnent, avez-vous utiliser le code ci-dessus dans la propriété familiale? –