我在Cakephp的/app/webroot/blog/
文件夹中安装了Wordpress,并将wordpress永久链接设置更改为月份和名称(例如http://abc.com/blog/2013/02/sample-post/
)。
现在,当我正在查看帖子时,我正在收到Missing Controller(错误:无法找到BlogController)。
我想更改cakephp路由,以便/blog/*
的所有内容都指向webroot博客文件夹。
有人可以帮我吗?
答案 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>