2016-12-26 2 views
1

J'essaie de déployer un nouveau projet Laravel sur un hébergement mutualisé. Je souhaite également que mes applications du projet Laravel soient configurées de la même manière que si elles étaient installées sur ma machine locale "Configuration standard de Laravel". J'ai utilisé FileZilla pour transférer tous les fichiers de mon ordinateur local vers l'hébergement Web.Comment puis-je publier laravel sur un hébergement Web partagé sans changer la configuration de l'annuaire?

so/public_html contient tous mes fichiers larvar et dossiers. Cependant, quand je vais sur mydomain.com, j'obtiens la page par défaut du fournisseur. Ans quand je vais à mydomain.com/public, je reçois une page blanche sans erreurs. Pourquoi ai-je une page blanche lors de la visite de mydomain.com/public?

De plus, comment puis-je faire pointer mydomain.com dans le répertoire public de laravel?

+0

Qui utilisez-vous pour l'hébergement? C'est probablement une meilleure question pour eux alors pour nous. – JRLambert

Répondre

0

1) Pourquoi une page blanche s'affiche-t-elle lorsque vous visitez mydomain.com/public? Probablement parce que vous ne vous êtes pas assuré que le dossier de stockage est accessible en écriture. 2) Comment puis-je faire pointer mydomain.com dans le répertoire public de Laravel?

Voici un moyen facile de mettre Laravel sous le répertoire public. *

Tout d'abord, à la racine de votre installation de Laravel vous devez soit copier ou renommer le fichier server.php-index.php alors vous pouvez utiliser .htaccess de sorte que vous ne pouvez accéder à des ressources comme index.php ou css, js, polices, images etc .. qui devrait se trouver dans public/

Voici le .htaccess j'utilise: (mettre cela à la racine de Laravel/même dir du server.php)

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)/$ /$1 [L,R=301] 

RewriteCond %{REQUEST_URI} ! (\.ttf|\.woff|\.woff2|\.css|\.js|\.png|\.jpg|\.gif|robots\.txt)$ [NC] 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [L] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !^/public/ 
RewriteRule ^(css|js|images|fonts)/(.*)$ public/$1/$2 [L,NC] 

RewriteCond $1 !^(index\.php) 
RewriteRule ^(.*)$ index.php [L] 

* (Notez que cette solution ne doit être utilisée que si vous avez pas d'autre option autre que de mettre Laravel dans un répertoire public)

+0

J'ai l'autorisation de mon dossier de stockage '777', donc ce ne serait pas le problème. une fois que j'ai renommé server.php en index.php et que j'ai mis le fichier .htaccess, je ne reçois pas l'erreur 500 Internal Server – Jaylen

+0

Est-ce que votre serveur répond aux exigences de laravel 5.2 et est-ce que mod_rewrite est activé? – Andy

+0

Ça devrait! J'héberge sur fastcomet.com. – Jaylen