如何使用 Apaches RedirectMatch 强制使用非 www 版本的域

How to use Apaches RedirectMatch to force non www version of domain

我刚刚发现 Apaches Redirect 方法可以替代使用 .htaccess 文件来强制我的域使用非 www 版本。

问题是我需要确保任何内部页面正确重定向到非 www 版本,因为目前简单的 Redirect / http://domainname.co.uk 只会有效地处理我的主页。我如何设置一个规则来处理任何内页?

此外,这比仅使用我的 .htaccess 文件好还是坏?

将它排除在 .htaccess 文件之外的好处是它变得更易于维护,而且您不会到处都有这些文件。

然而是这样的:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^yourdomain.com [NC]
RewriteRule ^(.*)$ http://www.yourdomain.com/ [L,R=301]

将任何页面的非 www 重定向到 www 并且反向(www 到非 www)它应该是:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.yourdomain.com [NC]
RewriteRule ^(.*)$ http://yourdomain.com/ [L,R=301]