MAMPにLaravel 5プロジェクトをインストールしましたが、ページでcssファイルが見つかりません。
これは、app.blade.phpファイル内のcssへのリンクです。
<link href="/css/app.css" rel="stylesheet">
そして、私の.htaccessファイルには次の行があります:
RewriteBase /laravel-site/laravel-5-app/public/
Configフォルダーには、app.phpファイルに次のものが含まれています。
'url' => 'http://localhost:8888/laravel-site/laravel-5-app/public/',
しかし、このページを開くと、 http:// localhost:8888/laravel-site/laravel-5-app/public/auth/login で開発者ツールを確認し、cssを探しています。この場所のファイル: http:// localhost:8888/css/app.css
念のため、このURLにアクセスすると、 http:// localhost:8888/laravel-site/laravel-5-app/public / 正しいウェルカムページが表示されます。
これを使用して、css
、javascript
、images
..などのアセットをブレードファイルに追加します。
CSSの場合、
<link href="{{ asset('css/app.css') }}" rel="stylesheet" type="text/css" >
OR
<link href="{{ URL::asset('css/app.css') }}" rel="stylesheet" type="text/css" >
JSの場合、
<script type="text/javascript" src="{{ asset('js/custom.js') }}"></script>
OR
<script type="text/javascript" src="{{ URL::asset('js/custom.js') }}"></script>
画像の場合、
{{ asset('img/photo.jpg'); }}
DOC です
別の方法で、composerパッケージilluminate/html
をプルした場合、laravel 4.2でデフォルトとして使用され、次のように使用できます。以下のlaravel 5.では、パッケージを手動でプルする必要があります。
{{ HTML::style('css/style.css') }}
例 です。
ルートパスに.htaccessファイルを作成します。
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/public/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /public/$1
#RewriteRule ^ index.php [L]
RewriteRule ^(/)?$ public/index.php [L]
</IfModule>
パブリックディレクトリに.htaccessファイルを作成します
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
public/index.phpファイルに変更を加えた場合、正しいパスで修正すると、サイトはライブになります。
これで何が解決しますか?
次のオプションのいずれかを使用できます。
<link href="{{ asset('css/app.css') }}" rel="stylesheet" type="text/css" >
<link href="{{ URL::asset('css/app.css') }}" rel="stylesheet" type="text/css" >
{!! Html::style( asset('css/app.css')) !!}
Stop artisan serve
そして使用してみてください
php -S localhost:8000 -t public
うまくいきました。 cssの場合:
<link href="css/app.css" rel="stylesheet">
してみてください:
<link href="public/css/app.css" rel="stylesheet">
簡単な正規表現を高速に適用します。
検索:href = "(。+?)"
置き換え:href = "{{asset( '$ 1')}}"
そして
検索:src = "(。+?)"
replace:src = "{{asset( '$ 1')}}"
これは私のために働く
.htaccessファイルをパブリックディレクトリからプロジェクトフォルダーに移行し、server.phpをプロジェクトフォルダーのindex.phpに変更した場合、これは機能します。
<link rel="stylesheet" href="{{ asset('public/css/app.css') }}" type="text/css">
ありがとう
ここに解決策があります
{!! Html::style('css/select2.min.css') !!}
{!! Html::script('js/select2.min.js') !!}
私は今まで同じ問題を抱えていました。
/
の前から/css/app.css
を削除して、そのcss.app.css
が機能するようにしました。
私の意見は:
<link rel="stylesheet" href="{{ URL::to('/css/app.css') }}">
cssファイルにルーティングする最適な方法です。
URL :: toはjsでも機能します
私が使用した:
"{{asset('css/custom.css')}}"
"{{asset('css/app.css') }}"
1つ目は自分のファイルで、2つ目はlaravelに付属しています。バージョン5を使用しています。
http://spanibox.com/css/app.css は機能しますが、 http://spanibox.com/css/custom.css は機能しません。これは非常に奇妙です。