0

Auf dem Server (shared-hosting) werden alle Assets, die sich in dem öffentlichen Ordner befinden, nicht angezeigt. das heißtLaravel: wie die Assets angezeigt werden, die sich in dem Öffentlichen Ordner befinden

<img src="{{asset($painting->file)}}" > 

Ausgang dieses

<img src="http://subdir.example.com/uploads/awJ4o8_miro1.jpg" > 

es

einen öffentlichen Ordner

http://subdir.example.com/public/uploads/awJ4o8_miro1.jpg 

Auf meinem Public_html Ordner Ich habe diese Ordnerstruktur haben soll

PUBLIC_HTML 
├───app 
├───bootstrap 
├───cgi-bin 
├───config 
├───database 
├───public 
│ ├───css 
│ ├───img 
│ ├───js 
│ ├───uploads 
│ └───videos 
│ .htaccess(file) 
│ .index.php(file) 
├───resources 
├───storage 
└───tests 
└ .htaccess(file) 

der .htaccess Datei beide ist wie diese Datei

DirectoryIndex public/index.php 
<IfModule mod_rewrite.c> 
    <IfModule mod_negotiation.c> 
     Options -MultiViews 
    </IfModule> 

    RewriteEngine On 

    # Redirect Trailing Slashes If Not A Folder... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)/$ /$1 [L,R=301] 

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

Berechtigungen

enter image description here

So stelle meine Frage ist, wie kann ich meine Konfiguration (.htaccess), so dass ich meine Anzeige kann Assets auf der Shared-Hosting-Site.

+0

Die erzeugte URL korrekt ist, die ' public'-Ordner ist Ihr Dateistamm und sollte nicht in der URL enthalten sein. Verwenden Sie '/ public', um auf Ihre Website zuzugreifen? – Jerodev

+0

Hallo @ Jeredov. Nein, ich benutze '/ publi /' nicht, um auf meine Webseite zuzugreifen, aber wenn ich die ** URL ** ändere und ** public ** hinzufüge, funktioniert alles 'http://miro.mongexweb.ca/public/uploads/ NUslC__MG_5032.jpg' –

Antwort

0

Sie diese Regel nur über letzte Regel einfügen können Vermögenswerte public/ umleiten:

DirectoryIndex public/index.php 
<IfModule mod_rewrite.c> 
    <IfModule mod_negotiation.c> 
     Options -MultiViews 
    </IfModule> 

    RewriteEngine On 

    # Redirect Trailing Slashes If Not A Folder... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)/$ /$1 [L,R=301] 

    RewriteRule ^uploads(/|$) /public%{REQUEST_URI} [L,NC,R=301,NE] 

    # Handle Front Controller... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^public/index.php [L] 
</IfModule> 
0

Sie URL-Präfix für den Vermögenswert mit öffentlichen wie:

{{ asset('public/' . $painting->file) }} 
Verwandte Themen