我正在将 www.domain.com 上的主站点和 blog.domain.com 上的旧 wordpress 博客合并到一个全新的 Wordpress 安装中。我已导出和导入所有旧博客文章,以便它们现在位于 wwww.domain.com/blog//
我正在尝试创建一个重写规则,将所有旧博客文章映射到他们的新 URL。
我已经尝试过这些 SO 讨论的变体: DNS/.htaccess files to redirect subdomain to specific folder Apache rewrite rule different if capture is empty
但没有任何工作。
如果 URL 中没有更多内容,我的 .htaccess 文件中的以下内容会将 blog.domain.com 重定向到 www.domain.com/blog:
RewriteCond %{HTTP_HOST} ^blog\.domain\.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www\.blog\.domain\.com$ [NC]
RewriteRule ^/?$ http://www.domain.com/blog/$1 [R=301,L]
但如果 URL 中还有其他内容,它根本不会重写 URL,而是转到新的 Wordpress 站点的 404 页面。
我尝试将捕获添加到最后的 RewriteRule 行,但没有发生重写,它只是转到新主页,但地址栏仍然显示“blog.domain.com”:
RewriteCond %{HTTP_HOST} ^blog\.domain\.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www\.blog\.domain\.com$ [NC]
RewriteRule ^/(.+)$ http://www.domain.com/blog/$1 [R=301,L]
有没有办法做我想做的事?