Charger un fichier HTML directement à partir du dossier public que Laravel
Je suis l'aide de Laravel.
Je suis en train de monter ma propre invitation de mariage.
J'ai un dossier dans mon dossier public, seront des styles et des scripts pour elle.
Je me demande si je peux point de ce dossier, au lieu de copier-coller le tout dans une nouvelle lame de fichier.
Route
Route::get('/wedding', 'WeddingController@index');
WeddingController
<?php namespace App\Http\Controllers;
class WeddingController extends Controller {
public function index()
{
return view('wedding.index');
}
}
Question
Je me demande si je peux point de mon index de la fonction pour charger le index.html
de l'un de mes dossier dans mon /public dossier.
Ne nous ont à charge la .blade
fichier à partir de la app/resources/views
répertoire ?
Toute aide /suggestions sur ce sera apprécié.
Si il y a un fichier situé à
Oui. J'utilise Nginx.
public/wedding/index.html
, puis quand vous allez à http://localhost/wedding
il va afficher le contenu de index.html
sans jamais invoquer Laravel. Pas de routes ou de contrôleurs de besoin.Oui. J'utilise Nginx.
OriginalL'auteur kyo | 2015-08-06
Vous devez vous connecter pour publier un commentaire.
Il suffit de placer le dossier de mariage directement à l'intérieur du dossier public:
Puis visite de l'URL de votre site avec un mariage suffixe:
Cela va charger le
index.html
de l'intérieur du dossier de mariage.Cela fonctionne via Nginx est
try_files
directive dans votre/etc/nginx/sites-enabled/my-site
fichier de config:Cela indique Nginx d'abord de rechercher un fichier correspondant à l'URL (par exemple,
/css/app.css
,/wedding/index.html
, etc). S'il ne trouve pas un fichier de correspondance (par exemple, il devrait normalement retourner une erreur 404 not found), alors il devrait plutôt passer la chaîne de requête comme un argument à l'index.php script.Comment se fait que je n'ai pas à vous inscrire à cette route ? Pouvez-vous élaborer un peu ?
J'aime vraiment cette solution. Je ne peux pas croire que j'ai fait il est plus difficile qu'il ne l'est.
Je l'ai vu. Merci beaucoup pour cette. Je ferai en sorte de l'accepter très rapidement.
J'ai remarqué, cela ne fonctionne pas en local. Seul le travail sur le serveur. Savez-vous pourquoi ?
OriginalL'auteur Ben Claar
De la charge statique des fichiers à partir de contrôleur à l'aide d'
File
FaçadeJe sais comment faire pour charger le fichier. Il est facile.
Pour laravel 5.6
use Illuminate\Support\Facades\File;
.OriginalL'auteur Ankit Jain
La seule solution est de renommer votre invitation de mariage de
index.html
àindex.php
et le placer dans votreresources/views
dossier, de sorte qu'il devient un Laravel modèle.Vous pouvez ensuite appeler à partir de votre contrôleur comme vous le souhaitez:
Bien sûr, avec cette méthode, vous aurez à assurer CSS/JavaScript/url de l'image sont correctement assignés à leurs emplacements respectifs dans le
public/
dossier.index.html
-->index.blade.php
OriginalL'auteur Ben Claar