在我工作的公司,我们曾经在自己的子域上使用Wordpress,例如blog.ourwebsite.com。我们决定将它放在主域中会更好,例如:ourwebsite.com/blog。此外,我们希望它与我们当前的设计完美集成,因此博客应该加载到显示帖子的网站内,而页眉和页脚将是我们的网站之一。我们的网站是用Codeigniter构建的。 我已经阅读了有关如何集成这两个平台的不同文章和问题,最后我们选择将Wordpress放在Codeigniter安装的根目录中,所以它看起来像这样:
ourwebsite/
application/
system/
wordpress_blog/
在Codeigniter中index.php
我正在使用此指令加载Wordpress:
require_once './wpblog/wp-blog-header.php';
我把它放在顶部,所以在加载codeigniter核心之前。此时唯一的问题是site_url
函数冲突,我通过在Codeigniter中重命名解决了这个问题。所以,除了我不知道如何访问Wordpress管理面板外,一切似乎都能正常工作。
然后我创建了一个blog
控制器,我现在可以在Codeigniter视图中调用Wordpress函数。所以此时Wordpress内容正确显示。问题是我不知道如何访问Wordpress管理面板。如果我尝试访问localhost/ourwebsite/en/blog/wp-admin
我当然会收到错误,因为它正在尝试访问控制器内部的wp-admin
函数,该函数不存在。所以我想用localhost/ourwebsite/wordpress_blog/wp-admin
之类的东西直接访问目录(wordpress_blog是磁盘上目录的名称,它与控制器名称不同),但是我收到404错误。我还将此目录添加到Codeigniter .htaccess
文件中,该文件现在看起来像这样:
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
文件。这实际上有效。问题是,当我尝试登录时,它会将我重定向到错误的网址,即:http://localhost/~carlo/ourwebsite/wordpress_blog/wp-admin/localhost/~carlo/ourwebsite/wordpress_blog/wp-login.php?redirect_to=http%3A%2F%2Flocalhost%2F~carlo%2Fourwebsite%2Fwpblog%2Fwp-admin%2F&reauth=1
。
问题是它无论如何都记录了我,所以如果我再次尝试访问管理面板,现在,它有点工作。我可以看到它但是它没有加载css或javascript文件。
答案 0 :(得分:0)
然后尝试更改选项表中的wordpress siteurl。它应该像localhost / ourwebsite / wordpress_blog / .. 并检查你的 本地主机/ ourwebsite / wordpress_blog /可湿性粉剂管理员
已编辑2014年2月11日
define('WP_HOME','http://localhost/~carlo/ourwebsite/wordpress_blog/');
define('WP_SITEURL','http://localhost/~carlo/ourwebsite/wordpress_blog/');
你错过了“http://”