我在我的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
答案 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]