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

Pat*_*cow 1 wordpress .htaccess

我有一个网站,如果我使用example.com或它,它工作正常example.com/wp-admin

但是,如果我使用www.example.com或不工作www.example.com/wp-admin

我重定向example.comwww.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]
Run Code Online (Sandbox Code Playgroud)

关于如何重定向一切的任何想法,但www.example.com/wp-admin ?? ??

谢谢

jak*_*ska 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]
Run Code Online (Sandbox Code Playgroud)