htaccess Redirect 301:mysite.com/sub/到mysite.com/sub/home

时间:2012-12-27 08:07:07

标签: .htaccess joomla

我的主页url就像这样http://mysite.com/sub/

我只是希望它重定向到新url这样的http://mysite.com/sub/home?lang=en

这是我的code

Redirect 301 /sub/ /sub/home?lang=en

问题/错误:

新的url变得像http://mysite.com/sub/home?lang=enhome

home

之后,不需要en连接

我该如何删除它?或者我的代码有问题吗?

不知道可能已经存在类似这样的问题

1 个答案:

答案 0 :(得分:1)

这是因为Redirect指令“连接”了2个路径节点,而你有一个在另一个内部(/sub/home里面 /sub) 。例如,如果指令如下所示:

重定向301 / a / b

这意味着当有人请求http://mysite.com/a/foo/bar时,他们会被重定向到http://mysite.com/b/foo/bar。当您被重定向到/sub/home时会发生什么情况,因为/sub/home与模式/sub匹配,并且home会被追加,所以再次重定向 因此/sub/home?lang=enhome

您可以尝试使用RedirectMatch,而不是“连接”路径节点:

RedirectMatch 301 ^/sub/?$ /sub/home?lang=en

或mod_rewrite:

RewriteEngine On
RewriteRule ^/?sub/?$ /sub/home?lang=en [L,R=301,QSA]