2015-06-19 67 views
1

我正在尋找我的laravel 5項目中的錯誤解決方案。我在public_html文件夾中有我的項目,所以我的項目工作的很好,除了我在子文件夾中的圖像。Laravel 5沒有在子文件夾中加載圖像

這是我的項目結構:

    • laravel
    • 的public_html
      • 的index.php
      • 圖像0​​
        • 用戶
          • default.jpg

我有叫workspace.blade.php主模板,在腳本標籤我有一個js變量引用我項目文件夾圖片:

<!-- Scripts --> 
    <script type="text/javascript"> 
     var Url = '{{ URL::asset('/'). Lang::getLocale() }}/'; 
     var resourcesUrl = Url + 'resources/'; 
     var imagesUrl = '{{ URL::asset('images') }}'; 
     var jsUrl = '{{ URL::asset('js/') }}'; 
    </script> 

所以在EJS的Javascript模板,我打印我的形象:

<img src="<%= imagesUrl + '/users/default.jpg' %>"> 

但瀏覽器控制檯總是告訴我下面的錯誤:

GET http://mydomain.com.co/users/default.jpg 404 (Not Found) 

如果我嘗試從「圖像/」文件夾中加載圖像,它的作品不錯,但如果我嘗試加載從「images/users /」等圖像的子文件夾內的圖像,它不再工作。

我已經直接打印了網址,但它什麼都沒發生。錯誤是laravel重定向url以在路由集合中路由,並引發路由錯誤。

我不知道我是否必須修改我的.htaccess文件,但這是它:

<IfModule mod_rewrite.c> 
<IfModule mod_negotiation.c> 
    Options -MultiViews 
</IfModule> 

RewriteEngine On 

# Redirect Trailing Slashes... 
RewriteRule ^(.*)/$ /$1 [L,R=301] 

# Handle Front Controller... 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [L] 

感謝您的幫助我!

+0

此路徑相關問題。當您嘗試從不存在的路由加載和映像時,映像的URL是錯誤的 – Digitlimit

+0

另請注意,您無法從公用文件夾訪問資源文件夾。一種選擇是將圖像移動到公用文件夾,或者您可以使用干涉圖像等圖像包來動態生成圖像,以便從資源文件夾加載圖像 – Digitlimit

+0

感謝Digitlimit。路線存在。它根本不在生產中工作,所以在開發過程中一切正常。我的圖像不在資源文件夾中,因爲我的laravel安裝位於根文件夾中。公用文件夾位於我的服務器的public_html文件夾中。 – Brian

回答

0

你缺少images

<img src="<%= imagesUrl + '/users/default.jpg' %>"> 

應該

<img src="<%= imagesUrl + '/images/users/default.jpg' %>"> 
+0

當我檢查DOM時,我看到正確的路線,所以我的laravel應用程序總是在routes.php(RouteCollection)中查找路線,爲什麼主文件夾圖像/ ? – Brian

+0

@布賴恩你能看到你的圖像在這個URL'http:// mydomain.com.co/images/users/default.jpg' – Muhammet

0

最後我發現了錯誤。只是我的「圖像/用戶」文件夾,它裏面的文件沒有正確的權限。它擁有640個權限,所以我已將其更改爲644.