Wordpress .htaccess文件完全匹配和不完全匹配
我刚搬到WordPress网站。我曾经有一个静态站点和一个子域上的WordPress博客(Wordpress .htaccess文件完全匹配和不完全匹配,wordpress,.htaccess,mod-rewrite,url-redirection,Wordpress,.htaccess,Mod Rewrite,Url Redirection,我刚搬到WordPress网站。我曾经有一个静态站点和一个子域上的WordPress博客(blog.example.com)。我正在使用下面的代码,将我所有的博客文章重定向到我的新网站。有没有什么方法可以对主博客页面进行例外?具体地说,我需要下面的代码来应用于我的所有文章、类别等(已经存在),但我需要将我的旧博客主页(blog.example.com)重定向到我的新博客主页(example.com/blog)。非常清楚的是,我的帖子等没有在永久链接中使用blog <IfModule mod
blog.example.com
)。我正在使用下面的代码,将我所有的博客文章重定向到我的新网站。有没有什么方法可以对主博客页面进行例外?具体地说,我需要下面的代码来应用于我的所有文章、类别等(已经存在),但我需要将我的旧博客主页(blog.example.com
)重定向到我的新博客主页(example.com/blog
)。非常清楚的是,我的帖子等没有在永久链接中使用blog
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^blog.example.com$ [NC]
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
</IfModule>
重新启动发动机
RewriteCond%{HTTP_HOST}^blog.example.com$[NC]
重写规则(.*)http://www.example.com/$1[R=301,L]
更新:谢谢,奥拉夫!用你的建议来解决这个问题。这是我的最终代码,供任何其他人寻找答案
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^blog.example.com$ [NC]
RewriteRule ^$ http://www.example.com/blog [R=301,L]
RewriteCond %{HTTP_HOST} ^blog.example.com$ [NC]
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
</IfModule>
重新启动发动机
RewriteCond%{HTTP_HOST}^blog.example.com$[NC]
重写规则^$http://www.example.com/blog [R=301,L]
RewriteCond%{HTTP_HOST}^blog.example.com$[NC]
重写规则(.*)http://www.example.com/$1[R=301,L]
将最具体的规则放在开头。在您的情况下,在现有规则前面加上主页的重定向
RewriteCond %{HTTP_HOST} ^blog.example.com$ [NC]
RewriteRule ^$ http://www.example.com/blog [R,L]
当一切正常工作时,您可以将
R
替换为R=301
。切勿使用进行测试。记住在正则表达式中转义点以匹配文字点,而不是任何字符。例如,^blog\.example\.com$
。或者,使用词典比较。例如=blog.example.com
。