在根域覆盖htaccess的Wordpress htaccess。子域名应用程序现在不工作

时间:2010-04-18 05:52:33

标签: wordpress .htaccess subdomain mod-rewrite

我们在服务器的根目录中安装了WP并且运行良好..但是,我们刚刚在子域中安装了另一个应用程序。现在,我可以查看该应用程序的index.php,但无法对其进行任何操作..根目录中的htaccess规则(来自WP base install)正在影响请求。

那么,如何消除WP htaccess文件影响子域?

以下是root用户的htaccess内容(WP安装):

<IfModule mod_rewrite.c>
RewriteEngine On
# BEGIN WordPress
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
</IfModule>

对于子域中的htaccess:

RewriteEngine on
RewriteCond $1 !^(index\.php|css|stylesheets|js|images|user_guide|favicon\.ico|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

我在网上到处搜索并尝试了一些我发现的样本......没有任何效果。

非常感谢任何帮助! 感谢

更新 似乎Wordpress可能不是罪魁祸首。出于好奇,我删除了WP .htaccess文件中的所有行...并且子域中的应用程序仍然无法正常工作。它的重写规则一定是错的......

所以,这是第二个重写规则无效。如果我输入/index.php?关于那么我可以看到关于页面..但它应该显示为:/ about

2 个答案:

答案 0 :(得分:5)

WP也是罪魁祸首(你有两个问题)。

我可以解决第一个.htaccess问题,因为WP是可预测的。你想把这个放在之前的BEGIN WordPress部分:

RewriteRule ^subdir-name/.*$ - [PT]

它会抓取对你的子目录的任何请求并通过它(PT),以便它不会被WordPress劫持。

你的第二个.htaccess中的问题是它似乎假设它仍然在根目录中。对于这个,我不能确定没有看到您的应用程序的布局,但/ index.php之前/可能是错误的。您确定第二个文件中的路径是否与文件的新布局相匹配?

答案 1 :(得分:2)

嗯......这应该有用吗?对于子目录“办公室” - 欢呼: - )

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^office/.*$ - [PT]
# BEGIN WordPress
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
</IfModule>