将主域重写到子域(mod_rewrite)

所以我试图写一个mod_rewrite规则,将我的主域上的所有内容发送到子域。

例如,redirect

http://example.com/1/2/3/4/5?n=6&i=7

http://sub.example.com/1/2/3/4/5?n=6&i=7

以下是我到目前为止:

RewriteEngine On RewriteCond ^http://www\.example.com\/ [NC] RewriteRule ^(.*)$ http://sub.example.com/$1 [R=301,L] 

但它似乎并没有工作。 有小费吗?

我认为你在你的RewriteCond行中丢失了一些东西。 尝试这个:

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

所以,将%{HTTP_HOST}添加到您的RewriteCond规则中…请注意,我没有testing过这个,所以请发布结果…