Web.config 在将非 www 重定向到 www 时忽略所有子域

泽山哈桑

我正在使用 web.config 将所有非 www 重定向到工作正常的 www。如何添加规则以忽略所有子域,以便http://example.com重定向到http://www.example.com但任何子域 http://*.example.com 或http://one.example。 com不重定向到 www。(我无法添加子域列表)。

<rule name="Redirect to www">
  <match url=".*" />
	  <conditions logicalGrouping="MatchAny">
		  <add input="{HTTP_HOST}" pattern="^(www\.)(.*)$" negate="true" />
		</conditions>
	<action type="Redirect" url="http://www.{HTTP_HOST}" redirectType="Permanent"/>
</rule>

拉希·艾哈迈德·萨吉德

我认为 Joey 的回答仅涵盖域以.com结尾的情况,无法处理.co.uk .co.za .com.au情况。您可以稍微扩展正则表达式,但允许使用不同类型使用[az]的域最终也会重定向子域,根据问题,这是您不想要的。

因此,为了实现这一点,您必须处理您认为在您的情况下可能出现的特定情况。

<rule name="Redirect to www">
  <match url=".*" />
  <conditions logicalGrouping="MatchAny">
    <add input="{HTTP_HOST}" pattern="^([a-z-]+[.](com|co|ca|net)([.](uk|sg|au)){0,1})$" negate="false" />
  </conditions>
  <action type="Redirect" url="http://www.{HTTP_HOST}" redirectType="Permanent"/>
</rule>

您可以根据自己的喜好修改正则表达式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何通过web.config将http重定向到https和www重定向到非www?

如何在web.config中将非WWW重定向到WWW

也将非www重定向到www子页面

重定向www。到非www并使用.htaccess将所有http重定向到https

将非WWW重定向到WWW

将www重定向到非www

如何将子域重定向到非www

.htaccess将www重定向到www之前的子域的非www

将任何域从非 www 重定向到 www 和 HTTPS,无需双重重定向

IIS / Azure web.config文件的简单规则将流量重定向到非www HTTPS

将所有http / www重定向到https:// www

htaccess-将非www重定向到www,但将子域留在外面

如何将www重定向到非www域的根目录,而不是子域

.htaccess:如何将非 www 重定向到 www 子域除外

通过.htaccess将非www重定向到www(子域除外)

Nginx将非www重定向到domain.com和子域的www和https

使用htaccess将非WWW重定向到WWW,而不会使子域失败

Nginx将子域foo重定向到www.foo到www.www.foo等

使用htaccess文件将所有流量重定向到index.php,将非www重定向到www

Azure Web 应用程序 - Godaddy 将 www 重定向到非 www

apache从非www重定向到www

htaccess从www重定向到非www

从www重定向到非www无效

htaccess 从 www 重定向到非 www

Nginx - 通用将所有 www 重定向到非 www

将所有非www HTTPS请求重定向到www HTTPS

Nginx 将所有非 www 流量重定向到端口 80 和 443 上的 www

如何使用查询参数将所有 www 请求重定向到非 www

如何将所有非www URL重定向到https:// www。在IIS中?