如何在Apache重写规则中替换域名?

如何在Apache重写规则中替换域名?,apache,.htaccess,Apache,.htaccess,我需要在重写规则中将URL domain.com重定向到domain.net。我最初使用重定向,但它丢失了我发送的POST变量。重写是否会延续这些问题?最好的方法是什么?这应该可以解决您的问题: RewriteEngine on RewriteCond %{HTTP_HOST} ^www.domain.com$ [OR] RewriteCond %{HTTP_HOST} ^domain.com$ RewriteRule ^(.*)$ http://www.thenewdomain.net/$1

我需要在重写规则中将URL domain.com重定向到domain.net。我最初使用重定向,但它丢失了我发送的POST变量。重写是否会延续这些问题?最好的方法是什么?

这应该可以解决您的问题:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.domain.com$ [OR]
RewriteCond %{HTTP_HOST} ^domain.com$
RewriteRule ^(.*)$ http://www.thenewdomain.net/$1 [R=301,L]

我不认为重写mod可以做这样的事情!当我使用它时,我在重定向的URL中得到两个斜杠。比如
…newdomain.net//login
。因为
$1
/login
,新域的末尾也有一个斜杠。我必须使用
RewriteRule^/(.*)$http://www.thenewdomain.net/$1[R=301,L]
$1
重写规则^(.*)$http://www.thenewdomain.net$1[R=301,L]
。第一个看起来更好,但第二个我想是更容易失败。一个小的,但重要的细节。这将不起作用:
RewriteCond%{HTTP\u HOST}^www.domain.com$[或]
。您需要添加一个空格:
RewriteCond%{HTTP\u HOST}^www.domain.com$[或]