WordPress 安装在根网站目录中:
/var/www/html/
CodeIgniter 安装在子目录中:
/var/www/html/ciapp/
当我访问http://www.example.com/ciapp/
主 CI 控制器时,可以正确访问和执行。
但是,如果我尝试像这样直接访问我的主要 CI 控制器:
http://www.example.com/ciapp/main/
我得到了 WordPress 的 404 页面。此外,如果我尝试访问主控制器的某个功能,如下所示:
http://www.example.com/ciapp/main/myfunction/
我也收到相同的 404 页面。
因此,基本上,WordPress/ciapp/
默认会忽略该目录,但不会忽略添加到该目录的任何 URL 请求。这是我的 WordPress .htaccess:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
那么,我需要向 WordPress .htaccess 添加什么样的 RewriteCond 才能忽略 /ciapp/ 目录以及使用该目录的任何 URI 请求?
我尝试过这个:
RewriteCond %{REQUEST_URI} !^/?ciapp
但似乎并没有什么效果。
答案1
如果 url == 其中任何一个,请不要使用 index.php 来提供它们。
RewriteCond $1 !^(index\.php|css|img|forums|ciapp|robots\.txt)
否则,使用 index.php
RewriteRule ^(.*)$ index.php/$1 [L]
如果 url == ciapp/* ,则使用 ciapp/index.php 为其提供服务。
RewriteRule ^(.*/)?ciapp/(.*) /ciapp/index.php/$1 [L]