Публичный URI автоматически появляется в URL Laravel
Я использую виртуальный хостинг для хостинга приложения laravel. Я использовал файл.htaccess, чтобы перенаправить запрос в общую папку.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ /public/$1
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteRule ^(/)?$ public/index.php[L]
Маршрутизация Laravel работает отлично, но когда я пытаюсь запросить папку внутри публичной папки непосредственно из URL, автоматически появляется публичный URI
Например: когда я пишу "www.domain.com/Uploads", URL автоматически становится "www.domain.com/public/Uploads"
1 ответ
Вам не нужно использовать htacess для доступа к вашим файлам. Лучший способ сделать это - построить маршрут, который выберет нужный вам файл и представит его вам.
Допустим, URL-адрес
project.dev/images/image.jpg
При построении маршрута, подобного этому, вы получите нужный файл
Route::get('/images/{name}', function($name) {
$file = Storage::get('images/'.$name);
return response($file, 200, [
'Content-Type' => 'Content-Type: image/png'
]);
});