从根目录下的WordPress的子文件夹的Codeigniter URL中删除index.php

我的服务器子文件夹中的Codeigniter应用程序以及文档根目录中的wordpress安装出现问题.如果我用.htaccess隐藏Codeigniter URL的index.PHP

/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> 

并让wordpress使用RewriteCond%{REQUEST_URI}!^ /(codeigniter)来忽略/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错误未指定输入文件.我发现here,那增加一个?在RewriteRule ^(.*)$index.PHP解决了Codeiginiter 404错误之后.

/codeigniter/.htaccess

RewriteRule ^(.*)$index.PHP?/$1 [L,QSA]

但是我现在遇到一个wordpress 404错误,所以看来如果我用index.PHP替换index.PHP吗?在/codeigniter/.htaccess中,/.htaccess中的wordpress重写规则,RewriteCond%{REQUEST_URI}!^ /(codeigniter).* $被忽略.有没有更好的方法解决这个问题?

提前致谢!

解决方法:

codeigniter目录中的RewriteBase应该显示/ codeigniter /

RewriteBase /codeigniter

否则,对index.PHP的重写最终将进入wordpress的路由器.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...