У меня проблема с сайтом, над которым я работаю, где .css выдает ошибку 404, и это вызывает у меня проблемы уже более дня. Недавно я установил сайт Laravel 5, размещенный локально на моей машине с IIS10. У меня есть мастер-макет находится в/Views/раскладок (layout.blade.php), где я включаю таблицы стилей, как это:IIS, не обслуживающий файлы .css & .js для сайта Laravel
<head>
...
<link href="{{URL::asset('css/bootstrap.min.css')}}" rel="stylesheet" />
<link href="{{URL::asset('css/font-awesome.min.css')}}" rel="stylesheet" />
<link href="{{URL::asset('css/prettyPhoto.css')}}" rel="stylesheet" />
<link href="{{URL::asset('css/price-range.css')}}" rel="stylesheet" />
<link href="{{URL::asset('css/animate.css')}}" rel="stylesheet" />
<link href="{{URL::asset('css/main.css')}}" rel="stylesheet" />
<link href="{{URL::asset('css/responsive.css')}}" rel="stylesheet" />
...
</head>
Теперь, если открыть браузер и перейти к http://localhost/test_site/public/ все мои взгляды появляются SANs любой стиль. Открытие инструментов разработчика есть семь ошибок, заявляющие:
HTTP404: NOT FOUND - The server has not found anything matching the requested URI. (XHR): GET - http://localhost/test_site/public/css/<filename>.css
Я запутался, почему, если путь показывается в файл CSS правильно, то почему бы ей не оказывать, как и следовало ожидать его к. Моя первая мысль была, что была проблема с моей web.config файла, который я имею, как:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=".css" />
<mimeMap fileExtension=".css" mimeType="text/css" />
<remove fileExtension=".js" />
<mimeMap fileExtension=".js" mimeType="application/javascript" />
<remove fileExtension=".jpg" />
<mimeMap fileExtension=".jpg" mimeType="image/jpeg" />
<remove fileExtension=".png" />
<mimeMap fileExtension=".png" mimeType="image/png" />
</staticContent>
<rewrite>
<rules>
<rule name="Rewrite rule1 for laravel_rewrite">
<match url=".*" />
<conditions>
<add input="{laravel_rewrite:{HTTP_HOST}}" pattern="(.+)" />
</conditions>
<action type="Rewrite" url="{C:1}{REQUEST_URI}" appendQueryString="false" />
</rule>
<rule name="Rule 2" stopProcessing="true">
<match url="^" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="/Tutorial/public/" />
</rule>
<rule name="Rewrite routed access to assets(img, css, files, js, favicon)" stopProcessing="true">
<match url="^(img|css|files|js|favicon.ico)(.*)$" />
<action type="Rewrite" url="/Tutorial/public/{R:1}{R:2}" appendQueryString="false" />
</rule>
</rules>
<rewriteMaps>
<rewriteMap name="laravel_rewrite">
<add key="localhost" value="/Tutorial/public" />
</rewriteMap>
</rewriteMaps>
</rewrite>
</system.webServer>
</configuration>
я первоначально создан файл web.config (который хранится в общей папке) с помощью URL Rewrite модуль в IIS, но дополнения между <staticContent>...</staticContent>
и третье правило, которое я сделал как попытку исправить эту проблему.
Я также думал, что проблема может быть связана с сопоставлениями обработчиков, в частности с StaticFile, который использует подстановочный знак * в качестве RequestPath. Я оставил это на месте, но я также определил отдельные обработчики с *.css
и *.js
, которые не помогли.
Есть ли у кого-нибудь предложения относительно других вещей, которые я мог бы попробовать? Просто чтобы прояснить, вот некоторые дополнительные сведения о моей установке:
- Функция Windows,
Static Content
включена (я отключен и снова включен как некоторые другие сайты предложили). - IUSR имеет соответствующие разрешения для доступа ко всем папкам сайта.
Заранее благодарим всех, кто может помочь!