Laravel 5.5 и .htaccess - файлы изображений и css не загружаются - PullRequest
0 голосов
/ 27 июня 2018

У меня новый виртуальный сервер с Apache2. Я пытаюсь начать свой Laravel 5.5 проект.

Он отлично работает в моей среде Homestead, но на этом сервере он не работает.

Я использую эту конфигурацию apache:

<VirtualHost *:80>
    ServerName www.myproject.com
    ServerAlias myproject.com new.myproject.com
    ServerAdmin webmaster@myadmin.com
    DocumentRoot /var/www/www.myproject.com/current/public
    CustomLog /var/www/www.myproject.com/log/access.log vhost_combined
    ErrorLog /var/www/www.myproject.com/log/error.log
    RewriteEngine On
    LogLevel alert rewrite:trace3
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ /var/www/www.myproject.com/current/public/index.php [L]
    <Directory />
        AllowOverride None
        Order Deny,Allow
        Deny from all
    </Directory>
    <Directory /var/www/www.myproject.com/current/public>
        Options FollowSymLinks MultiViews
        Require all granted
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

Теперь главная страница загружена хорошо, но если я нажму на меню «Вход» или «Регистрация», то будут показаны страницы с обработкой Laravel и основанные на шаблонах Blade, но CSS, JS и изображения не загружаются. Файлы находятся на своих местах в папке public / folder, они не имеют нулевого размера и по-прежнему не загружаются.

Если я нажму на страницу входа, вместо этих файлов (css, js, images) отобразятся страницы входа ...

Кто-нибудь есть идеи?

1 Ответ

0 голосов
/ 27 июня 2018

Замените .htaccess на следующий и создайте файл .htaccess за пределами общей папки.

RewriteEngine On


#----------------------------------------------
# | this code use for remove public directory |
#----------------------------------------------




RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
RewriteCond %{REQUEST_URI} !(\.ico|\.css|\.js|\.png|\.jpg|\.gif|robots\.txt|\.eot|\.svg|\.ttf|\.woff|\.woff2|\.otf|\.pdf)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(login|uploads|assets|css|js|images|ca|favicons|fonts|)/(.*)$ public/$1/$2 [L,NC]


RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
...