我的Codeigniters Security存在問題。Codeigniter在分開的文件夾中運行外部PHP腳本
我的Codeigniter安裝有Application Folder, System Folder
和Assets Folder
。
在我的資產文件夾中有第三方PHP腳本。
我想打電話給該腳本:DOMAIN/assets/FOLDEROFEXTERNALSCRIPT/EXTERNALPHPSCRIPT.php
有,我可以把這個文件在URL無控制器的選擇嗎?
我的Codeigniters Security存在問題。Codeigniter在分開的文件夾中運行外部PHP腳本
我的Codeigniter安裝有Application Folder, System Folder
和Assets Folder
。
在我的資產文件夾中有第三方PHP腳本。
我想打電話給該腳本:DOMAIN/assets/FOLDEROFEXTERNALSCRIPT/EXTERNALPHPSCRIPT.php
有,我可以把這個文件在URL無控制器的選擇嗎?
我希望你已經從你的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]
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
評論你所有的當前重寫規則,只是把上面的3行。只需在你的.htaccess文件中每行的開頭加上'#'即可發表評論。 – Nishant
有了這個工作,但我成爲一個內部服務器錯誤。這不是腳本問題我用一個簡單的echo腳本測試了它。 <?php echo「Tralala」?> 你知道最新錯誤嗎? 謝謝 – ghost
當您試圖通過一個URL來訪問該腳本會發生什麼一起。你會得到什麼錯誤? – Pattle
爲什麼你不通過url訪問文件? – ramsai
@Pattle 如果我打電話給文件,我得到一個404錯誤。如果我改變我的htaccess。我得到一個內部服務器錯誤。 但問題不是我的腳本,我用一個簡單的回聲腳本測試它 謝謝 – ghost