2014-03-04 97 views
4

我的Codeigniters Security存在問題。Codeigniter在分開的文件夾中運行外部PHP腳本

我的Codeigniter安裝有Application Folder, System FolderAssets Folder

在我的資產文件夾中有第三方PHP腳本。

我想打電話給該腳本:DOMAIN/assets/FOLDEROFEXTERNALSCRIPT/EXTERNALPHPSCRIPT.php

有,我可以把這個文件在URL無控制器的選擇嗎?

+0

當您試圖通過一個URL來訪問該腳本會發生什麼一起。你會得到什麼錯誤? – Pattle

+0

爲什麼你不通過url訪問文件? – ramsai

+0

@Pattle 如果我打電話給文件,我得到一個404錯誤。如果我改變我的htaccess。我得到一個內部服務器錯誤。 但問題不是我的腳本,我用一個簡單的回聲腳本測試它 謝謝 – ghost

回答

4

我希望你已經從你的url中刪除了index.php,這是通過在DOMAIN根目錄的.htaccess文件中添加下面的重寫規則,或者通過在虛擬主機中添加這些重寫規則來完成的。

下面的規則意味着,除非當前URL包含「index.php或其中的資源」,否則將每個URL重寫爲index.php?params,現在您可以將任何靜態內容或核心PHP腳本放入此文件夾中直接訪問,並具有CI中的圖片。

在.htaccess文件,只需加上「資產」文件夾中的繞過規則,與index.php文件

RewriteEngine on 
RewriteCond $1 ^!(index\.php|assets) 
RewriteRule ^(.*)$ /index.php?$1 [L,QSA] 
+0

Hy, 謝謝。 這是目前我的htaccess文件: RewriteEngine敘述在 RewriteBase/ 的RewriteCond%{REQUEST_URI} ^系統* 重寫規則^(。*)$ /index.php?/$1 [L] 的RewriteCond% {REQUEST_URI} ^應用。* 重寫規則^(。*)$ /index.php?/$1 [L] 的RewriteCond%{} REQUEST_FILENAME!-f 的RewriteCond%{} REQUEST_FILENAME!-d 重寫規則^(。*) $ index.php?/ $ 1 [L] 我已添加您的代碼段。但我得到一個404錯誤: – ghost

+0

評論你所有的當前重寫規則,只是把上面的3行。只需在你的.htaccess文件中每行的開頭加上'#'即可發表評論。 – Nishant

+0

有了這個工作,但我成爲一個內部服務器錯誤。這不是腳本問題我用一個簡單的echo腳本測試了它。 <?php echo「Tralala」?> 你知道最新錯誤嗎? 謝謝 – ghost

相關問題