Cakephp里面的Wordpress

时间:2013-02-20 07:47:50

标签: wordpress .htaccess cakephp

我在Cakephp的/app/webroot/blog/文件夹中安装了Wordpress,并将wordpress永久链接设置更改为月份和名称(例如http://abc.com/blog/2013/02/sample-post/)。

现在,当我正在查看帖子时,我正在收到Missing Controller(错误:无法找到BlogController)。

我想更改cakephp路由,以便/blog/*的所有内容都指向webroot博客文件夹。

有人可以帮我吗?

3 个答案:

答案 0 :(得分:6)

当我们更改Wordpress的固定链接设置时,它会生成.htaccess文件,如果有必要的权限,我们必须创建它。

在上述情况下,.htaccess文件夹中没有/blog/个文件。我使用Wordpress提供的以下mod_rewrite规则创建了它,同时更改了永久链接设置。

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /blog/
  RewriteRule ^index\.php$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /blog/index.php [L]
</IfModule>

在此之后,每件事情都可以。

答案 1 :(得分:2)

无需将博客文件夹放在webroot文件夹中。您可以通过对.htaccess文件进行细微更改来访问您的文件夹。只需将你的wordpress文件夹放在带有app文件夹的cakephp的根目录下,然后更改.htaccess,如下所示。

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule (blog/.*) $1 [L] # adjust the regex to what you want.
    RewriteRule    ^$ app/webroot/    [L]
    RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

答案 2 :(得分:0)

我尝试了上述两个代码,但没有一个对我有用..然后我发现了我自己的东西并且它有效。所以这里是,希望这会有所帮助。

首先将webroot文件夹中的WordPress文件夹添加为博客。在博客里面粘贴WordPress目录和文件..安装WordPress ..现在你将在WordPress管理员常规设置中看到WordPress地址为http://cakephp/blog/app/webroot/blog,将其更改为http://cakephp/blog。保存它..

现在在WordPress安装根文件夹中查找.htaccess文件,将RewriteBase和RewriteRule(最后一个)更改为RewriteBase / blog /和RewriteRule。 /blog/index.php [L]

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /blog/
 RewriteRule ^index\.php$ – [L]
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule . /blog/index.php [L]
</IfModule>