2013-10-11 132 views
1

我想將我的圖像/資產放在與我的應用程序目錄相同的文件夾中,但每次嘗試鏈接到圖像時,都會出現此錯誤:Codeigniter訪問禁止在項目根目錄下的映像文件夾

Forbidden 

You don't have permission to access (my base url)images/myimage.jpg on this server 

這怎麼我試圖訪問在我看來,像:

<img src="<?php echo base_url(); ?>images/myimage.jpg"> 

這是我的routes.php文件的問題嗎?我沒有真正觸及它,也沒有創建.htaccess文件。

如果問題是我還沒有告訴它如何處理base_url + some_asset_folder,那麼在哪裏以及如何配置呢?我只知道如何告訴路由使用特定的控制器類和方法,而不是訪問特定的目錄。

我是新來的PHP框架和CodeIgniter的新手 - 非常感謝任何幫助!非常感謝。

+0

什麼是文件夾權限? –

回答

0

請檢查可能導致問題的.htaccess文件。 允許您在.htaccess中的文件類型。

+0

是的,這是我的.htaccess文件。禁止「拒絕所有」並添加「選項FollowSymLinks」。像魅力一樣工作! – anniebabannie

1

保持圖像,樣式表,JavaScript,上傳等文件的最佳方式是與應用程序分離。在包含applicationsystems的根文件夾中創建一個文件夾assets

所以它會包含的文件夾application, assets, system etc. 裏面添加assets文件夾 - images, css, js, uploads etc.

,您可以使用

<img src='<?= base_url() ?>assets/images/image.jpg' />

這很可能是做的最好的方式訪問它。這是我一直在爲我的應用程序做的事情,所以對我來說這是最好的方法。希望這可以幫助。

+0

我試過這個,我的「應用程序」和「系統」文件夾與我的「圖像」文件夾位於同一層,但是當我嘗試訪問我的圖像時,它給了我「禁止」消息。任何想法可能發生什麼? – anniebabannie

+0

@anniebabannie我假設你正在使用你的本地主機。你使用WAMP服務器還是其他?如果是這樣,你的Web應用程序文件夾在'www'文件夾內?就像'www/mywebapp',然後在'mywebapp'文件夾裏面你有codeigniter文件,'application,system,.gitignore,index.php,images等等。' – sulavvr

+0

像魅力一樣工作! – Thibaut

0

如果您將CI安裝在公共http網頁文件夾之外,由於服務器權限,您將無法通過瀏覽器訪問您的圖像目錄。解決這個問題的方法之一是創建一個控制器來獲取並提供圖像文件。

相關問題