使用root用Wordpress从子文件夹中的Codeigniter URL中删除index.php

时间:2012-12-18 23:10:50

标签: php wordpress .htaccess codeigniter

我在服务器上的子文件夹中遇到了Codeigniter应用程序的一些问题,以及文档根目录中的Wordpress安装。如果我使用index.php

隐藏Codeigniter网址的.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> 

让Wordpress使用/codeigniter

忽略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.我发现here,在?解决Codeiginiter 404错误后添加RewriteRule ^(.*)$ index.php

/codeigniter/.htaccess

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

但是我现在收到一个Wordpress 404错误,所以我似乎将index.php替换为index.php? /codeigniter/.htaccess/.htaccess中的Wordpress重写规则,{ {1}}被忽略了。有没有更好的方法来解决这个问题?

提前致谢!

1 个答案:

答案 0 :(得分:4)

codeigniter目录中的RewriteBase应该说/codeigniter/

RewriteBase /codeigniter

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