从Expression Engine官方.htaccess索引重定向中排除子目录

时间:2013-05-17 18:33:44

标签: .htaccess rewrite expressionengine

我在网上找到了很多建议,但似乎没有一个在我的案例中有效。我在我的站点的根目录中安装了Expression Engine。在名为“helpone”的子目录中,我安装了WordPress。

Expression Engine .htaccess正在重定向domain.com/helpone,因此无法访问我的WP安装。

在EE的根.htaccess中,以下官方规则用于处理EE文件系统:

< IfModule mod_rewrite.c>

RewriteEngine On

    # Removes index.php from ExpressionEngine URLs
    RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php/$1 [L]

< / IfModule>

我需要添加一个排除项,以便当用户访问domain.com/helpone时 - 它的功能类似于普通的WP网站。

我需要添加哪些确切的规则或条件以及我需要放置哪条线?

提前感谢您的帮助。

更新 5/23

在我的情况下,问题是由一个奇怪的Hostgator问题引起的。我在WP目录上设置了密码,因为它正在开发中。当我添加任何允许我通过WP安装的排除时,它会终止根站点上的所有导航。这些链接都不会再起作用了。我最终只留下了EE .htaccess和WP .htaccess(我没有添加异常),但是从WP / helpone目录中删除了密码,它运行正常。

3 个答案:

答案 0 :(得分:1)

# ExpressionEngine
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^helpone
RewriteRule ^(.*)$ /index.php/$1 [L]

# WP
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^helpone
RewriteRule .? /helpone/index.php [L]

答案 1 :(得分:0)

尝试在重写规则的顶部添加这样的内容:

RewriteRule ^(helpone) - [L]

[L]会为匹配helpone的正则表达式说“最后一条规则”。什么都不会应用......我想。

答案 2 :(得分:0)

我在相同的域和服务器文件夹下安装了ExpressionEngine,WordPress和PHPBB。对于WordPress,您可以在根目录的当前.htaccess文件的末尾添加以下内容:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?yourwebsite.com$
RewriteRule ^(/)?$ helpone [L]