0

我對Joomla 2.5有一個非常緊張的問題,我找不到任何答案。 我有一個鏈接頁面。每個鏈接都像www.myhost.com/joomla/custom_dev/myscript.php?foo=bar。 myscript.php是一個外部腳本,它不是Joomla的一部分,但我需要Joomla框架的一些功能。鏈接到Joomla中的外部文件 - 僅在測試中工作

於是我就用經典代碼:

// Get Joomla! framework 
define('_JEXEC', 1); 
define('_VALID_MOS', 1); 
define('JPATH_BASE', realpath(dirname(__FILE__).'/../../')); 
define('DS', DIRECTORY_SEPARATOR); 
require_once (JPATH_BASE .DS.'includes'.DS.'defines.php'); 
require_once (JPATH_BASE .DS.'includes'.DS.'framework.php'); 

$mainframe =& JFactory::getApplication('site'); 
$mainframe->initialise(); 

它的偉大工程在我的測試環境。

但在現場服務器上,我收到了404錯誤。使用FireBug,我發現到外部文件的鏈接完全不起作用:它會轉到303重定向,然後轉到404錯誤。 我試過很多東西......現在我發現是什麼原因導致這個問題:

$mainframe->initialise(); 

沒有這一行,沒有重定向和鏈接的作品。但我沒有框架功能(我需要它們!)。

我也嘗試直接訪問我的腳本。

www.myhost.com/joomla/custom_dev/myscript.php?foo=bar與大型機$>初始化() - >得到了一個404錯誤(由許多303個重定向)

www.myhost。 com/joomla/custom_dev/myscript.php?foo = bar沒有$ mainframe-> initialise() - >沒有錯誤,顯示什麼可以顯示沒有Joomla的框架...

我希望我足夠清楚!

編輯:我刪除了我的自定義404頁面,真正的404原因是該類別未找到。當我嘗試www.myhost.com/joomla/custom_dev/another_script.php時,我沒有錯誤。編輯2:另一個信息:似乎當我使用$ mainframe-> initialise()時,它會自動在我的URL的某處添加語言,因此它變成www.myhost.com/joomla/custom_dev/en/myscript ?.PHP富=酒吧

回答

0

使用此稍做調整和清除嘗試:

define('_JEXEC', 1); 
define('JPATH_BASE', realpath(dirname(__FILE__))); 
require_once (JPATH_BASE .'/includes/defines.php'); 
require_once (JPATH_BASE .'/includes/framework.php'); 
require_once (JPATH_BASE .'/libraries/joomla/factory.php'); 
+0

並沒有什麼幫助。當我使用「initialise()」函數時,問題顯而易見。 – Neow 2013-04-11 07:44:30