.htaccess 使用mod rewrite在rewrite COND中为空%1

.htaccess 使用mod rewrite在rewrite COND中为空%1,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我得到了一些名称相同但TLD不同的域-比如说example.com和example.org。我想将所有请求从[www.]example.com重定向到www.example.org,以便只使用一个主域 我在.htaccess文件中找到了以下代码 RewriteCond %{HTTP_HOST} !^www\.(.*)\.org$ [NC] RewriteRule ^(.*)$ https://www.%1.org/$1 [L,R] 问题是:它重定向到https://www.

我得到了一些名称相同但TLD不同的域-比如说
example.com
example.org
。我想将所有请求从[www.]example.com重定向到www.example.org,以便只使用一个主域

我在.htaccess文件中找到了以下代码

RewriteCond %{HTTP_HOST} !^www\.(.*)\.org$     [NC]
RewriteRule ^(.*)$       https://www.%1.org/$1 [L,R]
问题是:它重定向到
https://www..org/
。变量
%1
似乎是空的,尽管它应该包含域名(“示例”)

据我所知,它应该是这样工作的

我缺少什么?

您可以使用:

RewriteCond %{HTTP_HOST} !^www\..+\.org$ [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)\.(?:.+)$ [NC]
RewriteRule ^ https://www.%1.org%{REQUEST_URI} [NE,L,R=301]
为空%1,因为在您的情况下使用的是
对于阴性测试,它不符合