首页 > 解决方案 > 集成 Codeigniter 和 Wordpress

问题描述

我使用 Wordpress 设计了一个网站,并一直在尝试将 Codeigniter 表单应用程序与其集成,并带有所有相应的 URL。

我将 CI 应用程序放在 Wordpress 站点的根文件夹中。该文件夹被命名为“智利”(它是由拉丁美洲国家分隔的一系列表格)。我将 .htaccess 文件更改为在必要时包含 /chile。我还补充说:

require '../wp-load.php';

到 CI index.php 文件。

我现在可以在 CI 应用程序中加载一些重要的 url,但它们似乎没有正确路由。

基本网址设置为:

$config['base_url']  =  "http://".$_SERVER['HTTP_HOST'];

$config['base_url'] .= preg_replace('@/+$@', '', dirname($_SERVER['SCRIPT_NAME'])).'/';

该网站是 www.dermusikplatz.com。该表格位于 www.dermusikplatz.com/chile/applications 下,我可以手动输入该表格。但是当我尝试提交表单时,网址奇怪地显示为 www.dermusikplatz.comapplications/save。通常,控制器和视图构建的 url 似乎没有正确设置。

我查看了有关路由的文档并尝试创建 $route 规则。但我不确定从什么路由到什么路由。我还看到了各种建议使用 MY_URL_helper 将 'site_url' 的值更改为 'ci_site_url' 的线程,以避免 Wordpress 和 CI 为此值之间的任何冗余,但我不知道从哪里开始即使在查看了帮助文档之后也是如此。

我还尝试进入并更改以下语句中的每个路径值:

$this->load->view('applications/form');

至:

$this->load->view('/chile/applications/form');

但我知道这没有什么意义,因为该目录不存在。我假设更改 .htaccess 文件和 base_url 会覆盖它,但似乎还有更多。

我在这里有点迷路,对 Codeigniter 不是很熟悉。

如果有人至少可以帮助我朝着正确的方向前进,我将不胜感激。谢谢。

标签: phpwordpressformscodeigniterintegration

解决方案


$config['base_url'] = "http://".$_SERVER['HTTP_HOST'];

将其更改为:

$config['base_url'] = "http://".$_SERVER['HTTP_HOST'] . '/Chile/';

值得注意的是,如果您在 Linux 上托管,则“智利”必须与调用文件夹的情况完全相同。所以,如果它是“智利”,不要称它为“智利”


推荐阅读