我已经在 Cakephp 的/app/webroot/blog/
文件夹中安装了 Wordpress,并将 wordpress 永久链接设置更改为月份和名称(例如。http://abc.com/blog/2013/02/sample-post/
)。
现在,当我查看帖子时,我得到了缺少控制器(错误:找不到 BlogController)。
我想更改 cakephp 路由,以便任何内容/blog/*
都指向 webroot 博客文件夹。
有人可以帮我吗?
当我们更改 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>
在此之后,一切正常。
无需将博客文件夹放在 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>
我尝试了上述两种代码,但没有一个对我有用..然后我自己找到了一些东西并且它有效..所以在这里,希望这会对一些人有所帮助。
首先将 webroot 文件夹中的 WordPress 文件夹添加为博客。在博客里面粘贴 WordPress 目录和文件.. 安装 WordPress.. 现在您将在 WordPress 管理员常规设置中看到 WordPress 地址为http://cakephp/blog/app/webroot/blog,将其更改为http://cakephp /博客。保存 ..
现在在 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>