WordPress.htAccess子目录问题

时间:2011-02-04 作者:Jeff Wain

我的Wordpress安装允许我访问子目录,特别是mydomain上的CodeIgniter安装,我遇到了一些问题。com/CODE点火器。我知道从技术上讲,它应该可以正常工作,并在创建文件夹时识别它们。然而,这并没有发生。我怀疑这与插件有关,但我已尝试禁用所有插件,但问题仍然存在(将我引向Wordpress 404页面)。

然而,在此期间,我找到了一个解决方案。如果我创建了一个子域,就会发生一些变化,一切正常,通过直接路径和子域名访问文件夹。

有什么帮助吗?我试过各种有趣的东西。htaccess两个目录中的文件,但更改它们并没有任何作用。

更新:这里是Wordpress。根文件夹中的htaccess:

DirectoryIndex index.php index.htm index.html
AddHandler application/x-httpd-php52 .php .php5 .php4 .php

# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/?codeigniter/
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
和CodeIgniter。/codeigniter/子目录中的htaccess文件。

DirectoryIndex index.php index.htm index.html
AddHandler application/x-httpd-php52 .php .php5 .php4 .php

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /codeigniter
RewriteCond $1 !^(index\\.php|images|robots\\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
</IfModule>

1 个回复
最合适的回答,由SO网友:hakre 整理而成

即使静态文件和目录与服务器根目录中的mod\\u rewrite\'d wordpress安装一起工作,您可能需要从mod\\u rewrite列表中排除CodeIgniter子目录。

您可以通过放置一个附加的。htaccess文件进入CodeIgniter目录,并在其中禁用mod\\u重写:

<IfModule mod_rewrite.c> 
RewriteEngine off
</IfModule>
相关:apache - Disable mod_rewrite for subdirectory

这通常是我的工作。但如果子目录本身需要一个mod\\u重写配置(正如某些PHP框架所需要的),那么它就不那么琐碎了。

要了解apache配置的工作原理,请参阅Configuration Files (Apache Manual)AllowOverride directive (Apache Manual).

结束