Apache .htaccess在域不是X时重定向

Apache .htaccess在域不是X时重定向,apache,.htaccess,mod-rewrite,redirect,Apache,.htaccess,Mod Rewrite,Redirect,如果域不是: www.domain.tld domain.tld 是否正确?您还应该使用$1或使用%{REQUEST\u URI}变量将分组作为反向引用传递: RewriteCond %{HTTP_HOST} !^(www.)?domain.tld [NC] RewriteRule ^(.*)$ https://domain.tld/$1 [L,R=301,QSD] 或 请注意,QSD是一个Apache2.4重写标志,它不适用于Apache2.2。如果您使用的是apache 2.

如果域不是:

  • www.domain.tld
  • domain.tld


是否正确?

您还应该使用
$1
或使用
%{REQUEST\u URI}
变量将分组作为反向引用传递:

RewriteCond %{HTTP_HOST} !^(www.)?domain.tld [NC]    
RewriteRule ^(.*)$ https://domain.tld/$1 [L,R=301,QSD]

请注意,
QSD
是一个Apache2.4重写标志,它不适用于Apache2.2。如果您使用的是apache 2.2并希望删除查询字符串,只需在目标的末尾添加一个

RewriteRule ^(.*)$ https://domain.tld/$1? [L,R=301,QSD]
RewriteCond %{HTTP_HOST} !^(www.)?domain.tld [NC]    
RewriteRule ^(.*)$ https://domain.tld%{REQUEST_URI} [L,R=301,QSD]
RewriteRule ^(.*)$ https://domain.tld/$1? [L,R=301,QSD]