Joomla 2.5:外部URL链接到不在服务器子文件夹上工作的内部页面

时间:2013-07-29 19:46:34

标签: joomla2.5 external-links

我有一个具有许多不同子文件夹/帐户的专用服务器。我有一个新的Joomla 2.5站点的测试安装,其中一个帐户/子文件夹还没有与之关联的域名。我必须通过

访问它
http://(SERVER-IP)/~subfolder/

而不是

http://www.example.com/

我的大多数链接类型都运行顺畅(即“单篇文章”链接到正确的文章别名等)但是当我使用外部URL菜单项类型链接到内部文章别名时,事情就变得糟糕了。 ..在菜单项选项中,我在“链接”字段中输入“/ contact-us”,以便(理论上)我可以链接到

http://(SERVER-IP)/~subfolder/index.php/contact-us

然而它正在删除子文件夹,导致它链接到专用服务器的apache根,导致:

http://(SERVER-IP)/contact-us

当我使用IP地址而不是域名时,我只有这个问题......

我重写了URL,所以不是.htaccess文件导致问题......定义的绝对路径是否有问题?有关如何解决此问题的任何想法,以便在开发过程中我可以停止查看404错误?感谢所有帮助指引我朝着正确的方向前进!

1 个答案:

答案 0 :(得分:0)

开头的正斜杠意味着从文档根开始,所以它基本上就是将所有“文件夹”剥离到根域(在你的开发系统上只意味着IP地址)。

一个选项是使用base标记设置外部网址菜单类型的相对链接。您可以在<head>声明之后将其添加到模板文件的index.php中:

<base href="<?php echo JURI::root(); ?>" />

这可能会引入一系列相关链接问题,因此您可能需要在此处权衡问题:Is it recommended to use the <base> html tag?

第二个选项是在开始时使用index.php进行尝试,因此请创建网址index.php/contact-us。我相信这将作为内部链接正确路由。

如果您上线并打开htaccess URL重写,这将导致问题。我刚检查过,这不会删除index.php部分,因此这是一个问题。

第三个选项(需要更多工作,但可能是推荐)是停止使用外部网址菜单项链接到内部网址。当您为网址设置菜单项时,Joomla往往功能最佳。 (大部分网址路由都是基于菜单项。)

实际上第三个选项是,可能更容易帮助您不使用外部URL菜单项而不是修复路由问题。