2012-02-23 59 views
0

我一直向朋友提供我的子域名,直到他设法获得新域名。如何转发到包含所有变量的新URL?

现在他有它,我想301重定向所有的旧链接到他的领地:

例子:

http://subdomain.my-domain.com/post.php?118&tg=602643 

重定向到

http://subdomain.com/post.php?118&tg=602643 

所以我要继续起来重定向的post.php中后面的所有变量

我的.htaccess新手 - 你能不能请帮助我提供正确的重写规则?另外,如果您碰巧有关于.htaccess的任何好文章以及如何管理它,链接真的很感激。

感谢

编辑 下面是实际usecases我想做的事: 重定向

http://raketa2.tasselhof.com/nastenka.php?115&up=648483 

http://www.raketa2.cz/nastenka.php?115&up=648483 

然而,由于在没有更多的子域存在我网站,我看到我的主页上的404错误,因为这:

/nastenka.php?115&up=648483 -> Provided 404 Error 

我想:

RewriteCond %{Request_URI} ^/nastenka\.php [NC] 
RewriteCond %{QUERY_STRING} ^\d+&tg=\d+$ [NC] 
RewriteRule ^(.*)$ http://www.raketa2.cz/$1?%{QUERY_STRING} [R=301,L] 

,但没有很好的...

解决 咄!我真的很笨。我刚添加了两个新的CNAME记录到我的域名DNS。应该做的伎俩

回答

1

这样做:

RewrtiteEngine on 
ReWriteBase/

RewriteCond %{HTTP_HOST} ^subdomain\. 
RewriteRule ^(.*)$ http://subdomain.com/$1?%{QUERY_STRING} [R=301,L] 

的QUERY_STRING post.php?118&tg=602643将出席会议。


  • 假设有你的域名没有post.php

这样做:

RewrtiteEngine on 
ReWriteBase/

RewriteCond %{Request_URI} ^/post\.php [NC] 
RewriteRule ^(.*)$ http://subdomain.com/$1?%{QUERY_STRING} [R=301,L] 

  • 如果post.php出现在您的域名,但你不使用类似的查询字符串,

这样做:

RewrtiteEngine on 
ReWriteBase/

RewriteCond %{Request_URI} ^/post\.php [NC] 
RFewriteCond %{QUERY_STRING} ^\d+&tg=\d+$ [NC] 
RewriteRule ^(.*)$ http://subdomain.com/$1?%{QUERY_STRING} [R=301,L] 
+0

我忘了提及 - 因为子域是不存在的我网站,我得到这些404日志在我自己的域名。我也想重定向'http://my-domain.com/post.php?118&tg = 602643'到'http://subdomain.com/post.php?118&tg = 602643' - 我该怎么做? – 2012-02-23 13:27:14

+0

@PavelJanicek检查答案中的更新。 – ThinkingMonkey 2012-02-23 13:31:49

+0

没有帮助。我还用确切的用例和你的帮助更新了我的问题......仍然404 – 2012-02-23 13:52:30

相关问题