使用.htaccess重定向特定URL

使用.htaccess重定向特定URL,.htaccess,redirect,.htaccess,Redirect,我以前有一个两种语言的博客。我为此安装了一个多语言插件。我后悔这样做,现在我为一种特定语言购买了另一个域,并希望将这种语言的所有帖子和页面重定向到新域 换句话说,如果有人键入mydomain.com/pl/或mydomain.com/pl/post/将他重定向到mydomain.pl或mydomain.pl/post/ 如果我将mydomain.com/pl/重定向到mydomain.pl的话,是否可以应用一个通用规则,即其他所有相关的URL也将被重定向,而不是逐个重定向?怎么做 我尝试过在另一

我以前有一个两种语言的博客。我为此安装了一个多语言插件。我后悔这样做,现在我为一种特定语言购买了另一个域,并希望将这种语言的所有帖子和页面重定向到新域

换句话说,如果有人键入
mydomain.com/pl/
mydomain.com/pl/post/
将他重定向到
mydomain.pl
mydomain.pl/post/

如果我将
mydomain.com/pl/
重定向到
mydomain.pl
的话,是否可以应用一个通用规则,即其他所有相关的URL也将被重定向,而不是逐个重定向?怎么做

我尝试过在另一个论坛上看到的方法,但没有成功。事实上,我对此有点困惑

RewriteEngine On
RewriteCond %{HTTP_HOST} ^mydomain\.com\pl$   [NC]
RewriteRule ^ http://mydomain.pl/  [L,R]
我希望我已经解释清楚了。

你可以试试:

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

主机名总是小写的,因此您不需要[NC],在您的情况下,您可能希望有永久重定向,以便可以使用R=301。

永远不要使用301重定向进行测试。这些是永久性的。始终使用
R
R=302
进行测试,因为这是一个临时重定向。您的规则不适用于htaccess上下文,因为它在模式中包含一个前导斜杠。移除它或使用?它起作用了!感谢大师的建议,我按照你说的做了,@starkeen是对的,它第一次不起作用,但后来我按照他说的去掉了前导斜杠,效果很好。谢谢你们三个!