我遇到了一個與我正在處理的站點有關的問題.css拋出404錯誤,並且現在一直給我提供問題。我最近使用IIS10在我的機器上本地託管了一個Laravel 5站點。我有存儲在/視圖/佈局(layout.blade.php)主佈局,其中包括我喜歡這個樣式表:IIS沒有爲Laravel站點提供.css&.js文件
<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重寫模塊,但在<staticContent>...</staticContent>
和我嘗試解決此問題的第三條規則之間增加了一些內容。
我也認爲這個問題可能與處理程序映射有關,特別是使用*通配符作爲RequestPath的StaticFile。我離開了那一個,但我還用*.css
和*.js
定義了單獨的處理程序,這沒有幫助。
有沒有人有任何建議,我可以嘗試的其他事情?只是爲了澄清,這裏是我的設置一些額外的信息:
- 的Windows功能
Static Content
已啓用(我也禁用和重新啓用它作爲其他一些網站的建議)。 - IUSR具有訪問所有網站文件夾的適當權限。
在此先感謝任何人可以幫助!