gpt4 book ai didi

.htaccess - 使用 .htaccess 将非 www URL 重定向到 www

转载 作者:行者123 更新时间:2023-12-04 14:53:32 25 4
gpt4 key购买 nike

我正在使用 Helicon's ISAPI Rewrite 3 ,它基本上可以在 IIS 中启用 .htaccess。我需要将非 www URL 重定向到 www 版本,即 example.com 应该重定向到 www.example.com。我使用了示例中的以下规则,但它会影响子域:

RewriteCond %{HTTPS} (on)?
RewriteCond %{HTTP:Host} ^(?!www\.)(.+)$ [NC]
RewriteCond %{REQUEST_URI} (.+)
RewriteRule .? http(?%1s)://www.%2%3 [R=301,L]

这在大多数情况下都有效,但也会将 sub.example.com 重定向到 www.sub.example.com。如何重写上述规则以便子域不会被重定向?

最佳答案

附加以下 RewriteCond:

RewriteCond %{HTTP:Host} ^[^.]+\.[a-z]{2,5}$ [NC]

这样它只会将规则应用于 nondottedsomething.uptofiveletters,如您所见, subdomain.domain.com 将不匹配条件,因此不会被重写。

您可以更改 [a-z]{2,5} 以获得更严格的 tld 匹配正则表达式,以及在域名中放置所有允许字符的约束(因为 [^.]+ 比严格必要的更宽松)。

总而言之,我认为在这种情况下没有必要。

编辑:sadie 在正则表达式上发现了一个缺陷,将它的第一部分从 [^.] 更改为 [^.]+

关于.htaccess - 使用 .htaccess 将非 www URL 重定向到 www,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com