.htaccess:如何将非www重定向到www,除了子域名

时间:2018-04-06 02:09:09

标签: .htaccess

我已使用以下代码将var test = 'https://test.com///?abc=def//&test=1e'; console.log(test.replace(/(https:\/\/)?([^\/]*)\/+/g,'$1$2/'));重定向到example.com

www.example.com

但是,我在带有子域名的Wordpress多站点中设置<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] </IfModule> ,因此我需要上述规则仅适用于www.example.com,而不适用于example.com

2 个答案:

答案 0 :(得分:2)

一些选项:

相当通用:

Height

黑名单:

RewriteCond %{HTTP_HOST} ^\w+\.\w+$

或白名单:

RewriteCond %{HTTP_HOST} !^(www|site-x)\. [NC]

答案 1 :(得分:0)

这适用于example.com,仅适用于 example.com

RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
  1. 检查HTTP_HOST是否以 example.com 开头并在此处结束。如果为false则停止,如果为true则继续。
  2. 使用前导 www 重定向到网址。