在WordPress的子域中将www强制为非www?

时间:2018-10-17 作者:Henry

在主域级别,将www强制为非www很简单。

那么在子域级别呢?

如果我是对的,“问题”是它有两个层次的深度,所以你不能强迫子域是非www的

这就是我的意思:

https://my.domain.com < correct
https://www.my.domain.com < incorrect and trying to force to non-www

3 个回复
SO网友:MrWhite

在主域级别,将www强制为非www很简单。

子域的情况实际上是一样的(取决于您最初编写指令的方式)。如果主机名(主域或子域)以www. 然后将其移除。

(如果您想要一个通用的单指令解决方案,那么对于子域和主域,强制非www到www要稍微复杂一些。)

以下内容删除www 来自任意主机名的子域。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\\.(.+) [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
此外。。。如果您的子域指向主域之外的子目录(例如。example.com/subdomain) 然后这些子目录可能也可以访问,并且需要重定向。(尽管搜索引擎不应该发现这些子目录,或者www子域,除非它以某种方式泄露。)

SO网友:Coomie

只有当您错误地重定向到www.my时,才可能发生这种情况。领域htaccess中的com。因此,如果是这种情况,您需要查看您的htaccess以删除www.my。领域com重定向。

如果情况并非如此,即,您试图重定向具有错误子域的链接,则需要具有一个全包子域,即通配符子域。如果您没有通配符子域,那么您也可以重定向到ThisDoesnTextist。我的领域com

如果您想重定向指向错误域的链接,并且您有一个通配符子域,请将其放入。htaccess文件:

#FORCE WWW
RewriteEngine On
RewriteCond %{HTTP_HOST} !=""
RewriteCond %{HTTP_HOST} ^www\\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://my.domain.com%{REQUEST_URI} [R=301,L]
应适用于http和https。

SO网友:Asha
# Remove www from any URLs that have them:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\\.
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
结束

相关推荐

HTAccess将Invoice.php重定向到/Client/Invoice.php

我正在考虑将Wordpress安装到我的WHMCS网站中,我想这样做,以便将所有旧发票或支持票证转到新的子文件夹。当前链接如下所示https://www.example.com/viewinvoice.php?id=15515 https://www.example.com/viewticket.php?tid=955170&c=j3122yq7 我应该放什么.htaccess 因此,任何访问这些链接的人都将被重定向到:https://www.example.com/client