2017-02-09 116 views
0

我的應用程序文件夾結構是這樣無法訪問CSS文件笨資產的文件夾,顯示404錯誤

root>assets>css+fonts+frontend+images+js

,但我不能在assets文件夾訪問的內容。他們總是顯示「404頁面未找到」。

作爲示例,mysite.com/assets/frontend/page.css顯示該錯誤。與此同時,mysite.com/assets/css/bootstrap.min.css顯示錯誤。

.htaccess文件

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 
+0

你設置你的基地址,並自動加載的網址助手? – user4419336

+0

是的,我添加了基址和自動加載URL助手。代碼在我的開發服務器(Easy PHP Dev Server)中工作正常,但不在我的網站託管中。 – rxjucse

+0

,因爲你很可能使用相對鏈接。當你使用mod_rewrite時,你將需要使用絕對連接,前面的正斜槓或頭部的base標籤。 –

回答

0

添加此規則,以你的htaccess重寫:

RewriteCond $1 !^(index\.php|assets) 

的問題是,當您從項目中刪除的index.php,你實際上是在做什麼重寫任何在該級別指向index.php ...

如果index.php沒有被阻止,你會看到例如http://localhost/index.php/assets/等等

您需要調整重寫忽略你的資產文件夾!^(忽略與啓動),那麼資產,這樣你就可以訪問該文件夾

您可以檢查它的工作/不工作要mysite.com/assets/css/bootstrap.min.css在您的瀏覽器,它說它不存在(與您當前的.htaccess文件)

你有RewriteRule ^(.*)$ index.php/$1 [L]重寫是這樣做的......

^是字符串的開頭(URI) (是正則表達式組的開始 .*是在第一個URI級 )的一切正則表達式組結束 $是字符串

然後你告訴它有效地尋找過去的index.php/ 然後結束繼續看新臺幣$ 30元

我給你的是增加規則的例外你已經擁有忽略特定URI段