.htaccess重定向,如果域不是X.

时间:2015-09-01 12:37:29

标签: apache .htaccess mod-rewrite redirect

如果域名不是,我想重定向.htaccess:

  • 是www.domain.tld
  • 使用domain.tld


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

这是对的吗?

1 个答案:

答案 0 :(得分:1)

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

RewriteCond %{HTTP_HOST} !^(www.)?domain.tld [NC]    
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]

请注意QSD是一个apache 2.4重写标志,它不适用于apache 2.2。如果您正在使用apache 2.2并想要删除查询字符串,只需在目标末尾添加?

RewriteRule ^(.*)$ https://domain.tld/$1? [L,R=301,QSD]