4

我的服务器上的子文件夹中的 Codeigniter 应用程序以及文档根目录中的 Wordpress 安装存在一些问题。如果我隐藏index.phpCodeigniter 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.phpindex.php?in替换/codeigniter/.htaccess,Wordpress 重写规则 in似乎/.htaccessRewriteCond %{REQUEST_URI} !^/(codeigniter).*$被忽略。有没有更好的方法来处理这个?

提前致谢!

4

1 回答 1

5

RewriteBasecodeigniter 目录中应该说/codeigniter/

RewriteBase /codeigniter

否则,重写index.php最终会转到 wordpress 的路由器。

于 2012-12-18T23:48:51.523 回答