Apache htaccess将所有请求从子文件夹重定向到子域

Apache htaccess将所有请求从子文件夹重定向到子域,apache,.htaccess,syntax,Apache,.htaccess,Syntax,我有以下(WordPress)URL规范结构: http://mysite.com/2011/10/my-post-name/ 我想从http://mysite.com/2011/...向下移动到子域上的同一位置 具体而言,这应该是: http://mysite.com/2011/10/my-post-name/-->http://subdomain.mysite.com/2011/10/my-post-name/ 我不确定这个的正确语法是什么,有人知道吗 RewriteEngine on Re

我有以下(WordPress)URL规范结构:

http://mysite.com/2011/10/my-post-name/

我想从
http://mysite.com/2011/...
向下移动到子域上的同一位置

具体而言,这应该是:

http://mysite.com/2011/10/my-post-name/
-->
http://subdomain.mysite.com/2011/10/my-post-name/

我不确定这个的正确语法是什么,有人知道吗

RewriteEngine on
RewriteCond %{HTTP_HOST} ^mysite.com$
RewriteRule (.*) http://subdomain.mysite.com$1 [R=301]
如果还需要匹配路径的第一部分,则使用

RewriteEngine on
RewriteCond %{HTTP_HOST} ^mysite.com$
RewriteRule ^/2011/(.*) http://subdomain.mysite.com/2011/$1 [R=301]

你应该看报纸。第一次会让人困惑,但在第25次左右之后,它会很有意义,为您提供很好的服务。

当前指向的是什么?subdomain.mysite.com位于同一台服务器上,是我博客的新主页。具体地说,我需要将所有对“…”的请求发送到“…”是否可以修改为这样:
RewriteCond%{HTTP_HOST}^dreamstarstudios.com/2011/$RewriteRule(.*))http://v3.dreamstarstudios.com/2011/$1[R=301]
因为,这是我添加到htaccess中的内容,我没有得到任何重定向…不,这不起作用,因为
%{HTTP_HOST}
只包含站点的主机名,例如dreamstarstudios.com。在RewriteRule.LOL中匹配和更改其他路径组件。你说得对。我只是一个前端开发人员,这些复杂的语法总是让我感到困惑。问题:这只适用于:还是也适用于:?我很抱歉让你头疼,但是重写仍然没有进行:/正如上面所写的,它只适用于/2011年,而不是/2010年。如果您想编写一个更通用的规则来实现这两个目的,那么您确实需要阅读文档并学习正则表达式。或者,你可以写两条规则,2010年和2011年各一条。对,到目前为止,我只有3年的根URL,所以我不担心进入regex。唯一的目的是重定向Googlebot出于SEO目的归档的内容,新帖子将具有正确的URL。不管怎么说,我在htaccess中有2010和2011年的重写规则(除了数字之外都是相同的),但我什么都没有得到。