如何从htaccess里面的重定向中排除文件夹?

时间:2012-01-22 02:06:05

标签: wordpress .htaccess

我有一个网站,如果我使用example.comexample.com/wp-admin

,它工作正常

但如果我使用www.example.comwww.example.com/wp-admin

,则无效

我将example.com重定向到www.example.com,现在www.example.com/wp-adminexample.com/wp-admin都不起作用。我得到一个空白页

这是我到目前为止所得到的:

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

RewriteCond %{HTTP_HOST} example\.com$ [NC]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

除了www.example.com/wp-admin之外,有关如何重定向所有内容的任何想法 ??

感谢

1 个答案:

答案 0 :(得分:5)

您确定问题是重写规则吗?这听起来像www.example.com从未工作....现在你将所有内容重定向到www.example.com,所以没有任何作用。您可能希望确保正确设置DNS /虚拟主机... www可以设置为与非www不同。

但是,要回答yoru问题,只需添加一个附加条件。

RewriteCond %{HTTP_HOST} example\.com$ [NC]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/wp-admin [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]