Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
与Codeigniter集成后如何访问Wordpress管理面板?_Wordpress_.htaccess_Codeigniter 2 - Fatal编程技术网

与Codeigniter集成后如何访问Wordpress管理面板?

与Codeigniter集成后如何访问Wordpress管理面板?,wordpress,.htaccess,codeigniter-2,Wordpress,.htaccess,Codeigniter 2,在我工作的公司,我们曾经在自己的子域上有Wordpress,比如blog.ourwebsite.com。我们决定最好把它放在主域中,比如:ourwebsite.com/blog。此外,我们希望它与我们目前的设计完美结合,因此博客应该加载到网站内,只显示帖子,而页眉和页脚将是我们网站的一部分。我们的网站是用Codeigniter构建的。 我读过关于如何集成这两个平台的不同文章和问题,最后我们选择将Wordpress放在Codeigniter安装的根目录中,这样看起来像这样: ourwebsite/

在我工作的公司,我们曾经在自己的子域上有Wordpress,比如blog.ourwebsite.com。我们决定最好把它放在主域中,比如:ourwebsite.com/blog。此外,我们希望它与我们目前的设计完美结合,因此博客应该加载到网站内,只显示帖子,而页眉和页脚将是我们网站的一部分。我们的网站是用Codeigniter构建的。 我读过关于如何集成这两个平台的不同文章和问题,最后我们选择将Wordpress放在Codeigniter安装的根目录中,这样看起来像这样:

ourwebsite/
    application/
    system/
    wordpress_blog/
RewriteEngine on
RewriteBase /ourwebsite/

RewriteCond $1 !^(index\.php|wordpress_blog|cache|captcha|fonts|forum|media|img|min|css|js|scripts|images|uploads|docs|robots.txt|sitemap.xml|sitemap|public|tools|assets|xd_receiver.htm)

RewriteRule ^(.*)$ index.php/$1 [L]
在Codeigniter index.php中,我使用以下指令加载Wordpress:

require_once './wpblog/wp-blog-header.php';
我把它放在上面,所以在加载codeigniter内核之前。此时唯一的问题是site_url函数冲突,我通过在Codeigniter中重命名它来解决。所以,除了我不知道如何访问Wordpress管理面板之外,一切似乎都很好

然后我创建了一个博客控制器,现在我可以在Codeigniter视图中调用Wordpress函数。因此,此时Wordpress内容显示正确。问题是我不知道如何访问Wordpress管理面板。如果我试图访问localhost/ourwebsite/en/blog/wp admin,当然会出现一个错误,因为它试图访问控制器中不存在的wp admin函数。所以我想用localhost/ourwebsite/wordpress\u blog/wp admin wordpress\u blog直接访问目录,它是磁盘上目录的名称,与控制器名称不同,但我得到一个404错误。我还将此目录添加到Codeigniter.htaccess文件中,该文件现在如下所示:

ourwebsite/
    application/
    system/
    wordpress_blog/
RewriteEngine on
RewriteBase /ourwebsite/

RewriteCond $1 !^(index\.php|wordpress_blog|cache|captcha|fonts|forum|media|img|min|css|js|scripts|images|uploads|docs|robots.txt|sitemap.xml|sitemap|public|tools|assets|xd_receiver.htm)

RewriteRule ^(.*)$ index.php/$1 [L]
有什么想法吗

编辑: 我尝试直接访问wp-login.php文件,位于http://localhost/~carlo/ourwebsite/wordpress_blog/wp-login.php。这确实有效。问题是,当我尝试登录时,它会将我重定向到错误的url,即:http://localhost/~carlo/ourwebsite/wordpress_blog/wp admin/localhost/~carlo/ourwebsite/wordpress_blog/wp login.php?重定向到=http%3A%2F%2Flocalhost%2F~carlo%2Fourwebsite%2Fwpblog%2Fwp admin%2F&reauth=1。
问题是它让我登录了,所以如果我再次尝试访问管理面板,现在,它可以正常工作了。我可以看到它,但它好像没有加载css或javascript文件。

好的,然后尝试更改选项表中的wordpress站点URL。它应该像localhost/ourwebsite/wordpress\u blog/。。 并检查您的 localhost/ourwebsite/wordpress\u blog/wp admin

2014年11月2日编辑


您缺少的http://

是来自Ci或WordPressit的404错误没有Codeigniter错误页面的布局。apache错误日志中显示:未找到或无法统计脚本'/var/www/wp login.php',这很奇怪,因为我的web根目录位于/home/carlo/public\u html/您可以访问wordpress directry localhost/ourwebsite/wordpress\u blog/是的,我可以。当我在末尾添加wp admin片段时,它会被重定向到:http://localhost/wp-login.php?redirect_to=http%3A%2F%2Flocalhost%2F~carlo%2Fourwebsite%2Fwpblog%2Fwp admin%2F&reauth=1ok,这是我尝试过的,但忘了在问题中提及。实际上,我已经在WP-config.php文件中设置了WP_HOME和WP_SITEURL的值。将它们设置为localhost/~carlo/photocircle/wpblog/作为值,当我尝试访问管理面板时,它会将我重定向到该面板http://localhost/~carlo/ourwebsite/wpblog/wp admin/localhost/~carlo/ourwebsite/wpblog/wp login.php?如你所说,重定向到=http%3A%2F%2F localhost%2F~carlo%2Fourwebsite%2Fwpblog%2Fwp admin%2F&reauth=1{{{{当我在末尾添加wp admin片段时,它被重定向到:‌​网站%2Fwpblog%2Fwp管理员%2F&reauth=1}?…恰好是从带有wp login.php的站点url中提取出来的..因此我假设您的站点url没有正确定义,所以juss建议您将其作为站点url。wp重定向正在工作,因此管理部分正在工作。可能是HTAccess有问题。您是否尝试过与您的wp_SITEURLI相同,但它是相同的。总之,~carlo/segment是正确,因为这是我设置本地环境并使用它访问webroot的方式。我在答案中发布了Codeigniter.htaccess,但在Wordpress目录中我没有任何.htaccess。你能给我看看你添加了siteurl的配置文件吗。