我的服务器上的子文件夹中的 Codeigniter 应用程序以及文档根目录中的 Wordpress 安装存在一些问题。如果我隐藏index.php
Codeigniter URL 的.htaccess
/codeigniter/.htaccess
DirectoryIndex index.php
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|user_guide|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 index.php
</IfModule>
/codeigniter
并让 Wordpress 忽略RewriteCond %{REQUEST_URI} !^/(codeigniter).*$
/.htaccess
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_URI} !^/(codeigniter).*$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
然后导航到www.mysite.com/codeigniter/my_controller/my_function
,我得到一个 404 错误,No input file specified.
我在这里找到,添加一个?
afterRewriteRule ^(.*)$ index.php
解决了 Codeiginiter 404 错误。
/codeigniter/.htaccess
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
但是,我现在遇到了 Wordpress 404 错误,所以如果我index.php
用index.php?
in替换/codeigniter/.htaccess
,Wordpress 重写规则 in似乎/.htaccess
会RewriteCond %{REQUEST_URI} !^/(codeigniter).*$
被忽略。有没有更好的方法来处理这个?
提前致谢!