0

我对 Joomla 2.5 有一个非常紧张的问题,我找不到任何答案。我有一个带有一些链接的页面。每个链接都类似于 www.myhost.com/joomla/custom_dev/myscript.php?foo=bar。myscript.php 是一个外部脚本,它不是 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 with $mainframe->initialise() -> 出现 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?foo =酒吧

4

1 回答 1

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' );
于 2013-04-10T15:16:24.987 回答