2013-02-20 23 views
1

我已经在Cakephp的/app/webroot/blog/文件夹中安装了Wordpress,并将wordpress的固定链接设置更改为Month和Name(例如http://abc.com/blog/2013/02/sample-post/)。Cakephp内部的Wordpress

现在,当我查看一篇文章,我正在失踪控制器(错误:无法找到BlogController)。

我想改变cakephp路线,以便任何与/blog/*指向任何webroot博客文件夹。

有人能帮助我吗?

+0

是否有一个特定的原因为什么你想在'webroot'目录中使用Wordpress?外面也有可能吗? – mensch 2013-02-20 08:06:01

+0

根据客户的要求,它应该保存在webroot内。 – Sitansu 2013-02-20 08:40:45

+0

在这种情况下尝试修改.htaccess的方式,将专门忽略博客和匹配的物理位置,而不是查找索引文件的查询字符串,可能有帮助 – 2013-02-20 09:23:25

回答

5

当我们改变的WordPress的永久链接设置,它生成一个.htaccess文件,如果有所需的权限否则,我们必须创建它。

在上述情况下/blog/文件夹中没有.htaccess文件。我使用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> 

之后,每件事情都很好。

2

无需将博客文件夹放入webroot文件夹中。您可以通过对.htaccess文件进行轻微更改来访问文件夹。只需把你的wordpress文件夹放在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> 
+0

谢谢克里希纳。我试过这个,但是当我访问一个帖子页面时(/ blog/2013/02/this-is-a-post /),它显示500内部服务器错误。但客户的要求是,它应该保存在webroot中。 – Sitansu 2013-02-20 11:59:11

+0

因为你需要改变博客文件夹中的重写基路径htacces – Krishna 2013-02-21 07:37:04

+0

是的克里希纳,你是对的。它在更改博客文件夹.htacces中的重写基本路径后有效。再次感谢。 – Sitansu 2013-02-22 07:33:44

0

我试了上面的代码,但都没有为我工作,然后我找到了我自己的东西,它的工作..所以在这里,希望这将有助于一些。

首先将WordPress文件夹添加到webroot文件夹中作为博客。内部博客粘贴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> 
+0

谢谢Pankaj。有各种htaccess文件。你能帮我用正确的文件路径..? – Invincible 2016-03-08 10:41:06

+0

请通过答案..我现在提到它 – 2016-03-09 19:24:03