.htaccess规则在子文件夹中的root和cakephp中有wordpress

时间:2013-12-29 13:06:33

标签: wordpress .htaccess url cakephp subdirectory

我在我的FTP的根目录中安装了wordpress,然后在子文件夹中安装了cakephp,但是我遇到了htaccess的问题。

www/
.htacess
(wordpress)
/folderCakephp/
              .htacess
              (cakephp)

Wordpress htaccess:

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

Cakephp root htaccess:

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

Cakephp app / htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
</IfModule>

Cakephp app / webroot / htaccess:

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

问题是,当我访问www.domain.com/folderCakephp/时,我有一个Wordpress 404

2 个答案:

答案 0 :(得分:1)

在安装WordPress的目录中,我编辑.htaccess文件,我添加了以下行。 (CakePHP子目录将被调用&#34; cake&#34;)

Wordpress Bind Failed : Bad file descriptor

.htaccess

/ cake # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^cake/(.*)$ /cake/$1 [L,QSA] RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress

.htaccess

/ app <IfModule mod_rewrite.c> RewriteEngine on RewriteBase /cake RewriteRule ^$ app/webroot/ [L] RewriteRule (.*) app/webroot/$1 [L] </IfModule>

.htaccess

/ app / webroot <IfModule mod_rewrite.c> RewriteEngine on RewriteBase /cake RewriteRule ^$ webroot/ [L] RewriteRule (.*) webroot/$1 [L] </IfModule>

.htaccess

就是这样。你很高兴。

在浏览器中访问example.com将打开您的WordPress网站,而example.com/cake/,将根据您的配置方式,打开您的CakePHP应用程序。

答案 1 :(得分:0)

我认为问题是你的WordPress重写的最后一行

RewriteRule . /index.php [L]

这会重写 everthing ,而不会被其他规则用于WordPress。我想你想改变它以匹配除了使用否定匹配的cakePHP文件夹之外的所有内容。我没有测试过这个,但它应该像

RewriteRule (?<!folderCakephp). /index.php [L]