我在网上找到了很多建议,但似乎没有一个在我的案例中有效。我在我的站点的根目录中安装了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目录中删除了密码,它运行正常。
答案 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]