Почему я не могу получить полный путь к ресурсу CSS в шаблоне клинка?

Я очень новичок в Ларавеле. Я работаю над приложением Laravel 5.4, и у меня есть следующая проблема с использованием blade-сервера для получения URL-адреса добавления ресурса CSS.

Это мой файл app.blade.php, представляющий шаблон всех моих просмотров:

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <!--<link href="/css/app.css" rel="stylesheet">--> <!--<link href="{{ URL::asset('css/app.css') }}" rel="stylesheet" type="text/css" >--> <link href="{{ asset('css/app.css') }}" rel="stylesheet" type="text/css" > <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> <script src="/js/app.js"></script> </head> <body> <div class="container" style="width: 60%; margin-bottom: 50px;"> @yield('content') </div> @yield('footer') </body> </html> 

Как вы можете видеть, следуя этой SO-почте: Laravel 5 не находит файлы css

Я определяю этот ресурс CSS таким образом:

 <link href="{{ asset('css/app.css') }}" rel="stylesheet" type="text/css" > 

для получения ресурса http: //localhost/HotelRegistration/public/css/app.css из правильного места.

Проблема заключается в том, что таким образом открывается URL-адрес, например http: // localhost / HotelRegistration / public / registration

Я все еще получаю неверную ссылку CSS на сгенерированной странице, это:

 <link href="/css/app.css" rel="stylesheet"> 

Таким образом, я ожидал получить правильный http: //localhost/HotelRegistration/public/css/app.css

Я также попытался импортировать его, используя эту альтернативную ссылку:

 <link href="{{ URL::asset('css/app.css') }}" rel="stylesheet" type="text/css" > 

но я получаю те же результаты.

Что не так? Что мне не хватает? Как я могу исправить эту проблему и получить правильный URL-адрес моего CSS, включая весь путь?

Я просто подтолкнул stackoverflow, поэтому я не так много репутации, чтобы комментировать, поэтому я размещаю ответ здесь:

ели это хорошая идея использовать ремесленную подачу:

 php artisan serve 

это уменьшает большую головную боль. Если вы на Mac, попробуйте valet . это действительно приятно и легко.

второй вам нужно импортировать css следующим образом:

 <link href="{!! asset('css/app.css') !!}" rel="stylesheet" type="text/css" > 

Надеюсь, это решит вашу проблему.

Используйте виртуальный хост в конфигурационных файлах apache, ваш корень – это публичный каталог, а не ваш корень localhost (замените YOUR_LOCALHOST_ROOT_PATH, конечно):

 <VirtualHost *:80> ServerAdmin test@test.com DocumentRoot YOUR_LOCALHOST_ROOT_PATH/HotelRegistration/public ServerName hotel.dev <Directory "YOUR_LOCALHOST_ROOT_PATH/HotelRegistration/public"> AllowOverride All Require all granted </Directory> 

Конечно, hotel.dev не существует в Интернете, без проблем, используйте файл системного хоста! В вашем файле хоста (в Windows: C: / Windows / System32 / drivers / etc / host, linux / etc / host) добавьте эту строку:

 127.0.0.1 hotel.dev 

вы можете добавить еще строку:

 127.0.0.1 hotel.dev another.dev youtestsite.dev 

Перезагрузите браузер и apache, он должен работать немедленно

И используйте http://hotel.dev

После этого у вас не должно быть никаких проблем с дорогой!

Если вы работаете на своем локальном хосте, вы должны запустить командную строку из корневого проекта вашего каталога (например: HotelRegistration /):

 php artisan serve 

По умолчанию вы сможете получить доступ к своему проекту с URL: http://127.0.0.1:8000/, а ссылка css будет выглядеть как http://127.0.0.1:8000/css/app.css

Если вы хотите разместить на своем удаленном сервере, вы можете использовать .htaccess переписать режим перенаправления на index.php общедоступной директории .