0

我有一个带有许多不同子文件夹/帐户的专用服务器。我在这些帐户/子文件夹之一上为新的 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 错误?感谢您为我指明正确方向的所有帮助!

4

1 回答 1

0

开头的正斜杠表示从文档根目录开始,因此它基本上表示将所有“文件夹”剥离到根域(在您的开发系统上仅表示 IP 地址)。

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

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

但是,这可能会引入许多与相对链接相关的问题,因此您可能需要在此处权衡这些问题:是否建议使用 <base> html 标记?

第二种选择是index.php在开始时尝试它,所以制作 url index.php/contact-us。我相信这将作为内部链接正确路由。

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

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

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

于 2013-07-30T06:22:17.657 回答