Php 集成Codeigniter和Wordpress

Php 集成Codeigniter和Wordpress,php,wordpress,forms,codeigniter,integration,Php,Wordpress,Forms,Codeigniter,Integration,我使用Wordpress设计了一个网站,并一直在尝试将Codeigniter表单应用程序与之集成,以及所有相应的URL 我将CI应用程序放在Wordpress站点的根文件夹中。文件夹名为“Chile”(它是由LATAM国家分隔的一系列表格)。我在必要时将.htaccess文件更改为include/chile。我还补充说: require '../wp-load.php'; 转到CI index.php文件 我现在可以在CI应用程序中加载一些基本URL,但它们似乎没有正确路由 基本url设置为:

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

我将CI应用程序放在Wordpress站点的根文件夹中。文件夹名为“Chile”(它是由LATAM国家分隔的一系列表格)。我在必要时将.htaccess文件更改为include/chile。我还补充说:

require '../wp-load.php';
转到CI index.php文件

我现在可以在CI应用程序中加载一些基本URL,但它们似乎没有正确路由

基本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下,我可以手动输入该表格。但当我试图提交表单时,url奇怪地显示为www.dermusikplatz.com应用程序/save。一般来说,控制器和视图构建的URL似乎没有正确设置

我查阅了有关路由的文档,并尝试创建$route规则。但我不确定从哪条路线到哪条路线。我也看到过一些建议使用MY_URL_helper将“site_URL”的值更改为“ci_site_URL”的帖子,以避免Wordpress和ci的值之间存在任何冗余,但我甚至不确定从何处开始,即使在查看了helper文档之后

我还尝试过在语句中插入并更改每个路径值,如下所示:

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

但我明白这没什么意义,因为那个目录根本不存在。我假设更改.htaccess文件和base_url会覆盖它,但似乎还有更多内容

我在这里有点迷茫,对Codeigniter不太熟悉


如果有人能帮我找到正确的方向,我会非常感激。谢谢。

$config['base\u url']=“http://”$\u SERVER['http\u HOST']

改为:


$config['base\u url']=“http://.”$\u服务器['http\u主机].'/智利/'


值得注意的是,如果您在Linux上托管,“Chile”必须与您的文件夹的名称完全相同。因此,如果它是“智利”,不要称它为“智利”

我从来没有做过这件事,但研究过一次,我记得我特别想,我更愿意设置CI来嵌套Wordpress,而不是相反。也许我错了,我记不起细节了——但在你深入研究这个问题之前,也许值得一看。我已经分别设置了很多次了。你检查过了吗@维克尔:是的。非常感谢。我已经遵循了主要答案中的步骤。如果您能够在应用程序中加载视图,那么您的设置可能是正确的。这可能只是一个解决方案,但不是一个解决方案,您是否可以替换
$config['base\u url']=“http://”$\u SERVER['http\u HOST']
$config['base\u url']=“http://”$\u服务器['http\u主机]]。“/”然后重试?谢谢您的反馈。当我尝试添加时。“/”或。“/智利/”(如下面的回答所述),它似乎打破了人们的看法。它们看起来没有样式。而且它不能解决控制器路由的问题。在CI的.htaccess文件中,我已经添加了以下规则:
RewriteRule^index\.php$-[L]RewriteEngine On RewriteBase/chile/RewriteCond%{HTTP_HOST}^www\。[NC]重写规则^(.*)$http://www.%{HTTP_HOST}/chile/$1[R=301,L]RewriteCond%{REQUEST_FILENAME}-f RewriteCond%{REQUEST_FILENAME}-重写规则^(.*)$index.php/$1[L]
感谢您的反馈。当我尝试添加时。“/”或。“/智利/”这似乎打破了人们的看法。它们看起来没有样式。而且它不能解决控制器路由的问题。在CI的.htaccess文件中,我已经添加了以下规则:
RewriteRule^index\.php$-[L]RewriteEngine On RewriteBase/chile/RewriteCond%{HTTP_HOST}^www\。[NC]重写规则^(.*)$http://www.%{HTTP_HOST}/chile/$1[R=301,L]RewriteCond%{REQUEST_FILENAME}-f RewriteCond%{REQUEST_FILENAME}-重写规则^(.*)$index.php/$1[L]
这些.htaccess规则似乎只帮助加载视图,而我对base\u url所做的更改似乎不起作用。我不能确定,但是如果您硬编码路径来加载CSS,则更改base\u url将破坏CSS和其他东西。例如,如果您从
“/Chile/whatever.CSS”
加载CSS,并且您的基本url现在包含
/Chile/
部分,那么它将中断。更改路径后,您需要确保CSS和脚本的路径仍然正确。最好使用
base\u url()
函数设置与CSS文件相关的路径。例如,
src=“CSS/styles.CSS”
或任何路径。哦,在加载视图的地方,使用
base\u url()
功能也一样,正如我上面所建议的。我关于如何处理基本url的建议绝对正确。硬编码路径使您的站点无法移植。我发现了这个问题。它正在删除
require'../wp load.php'行。它覆盖了站点的url。我认为与WP集成是必要的,但显然不是。
$this->load->view('/chile/applications/form');