将非 www URL 重定向到 www URL

Posted

技术标签:

【中文标题】将非 www URL 重定向到 www URL【英文标题】:Redirect the non-www URL to the www URL 【发布时间】:2011-06-24 15:33:54 【问题描述】:

我已经参考了所有相关问题并尝试了给出的答案,但它不适用于我的网站。

在我的.htaccess 文件中,我编写了以下代码以将非 www 重定向到 www

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

Joomla 中是否有任何设置需要设置才能使用.htaccess 文件?

【问题讨论】:

是的 Shakti,它已启用,我已使用以下代码进行检查: RewriteEngine On Options +FollowSymLinks Redirect /google.html google.com 当我使用example.com时,它显示Google Error-404 Not found 会不会有任何托管问题? 【参考方案1】:

这是我用的-

Options +FollowSymLinks
RewriteEngine On
RewriteCond %HTTP_HOST ^example.com [NC] 
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301] 

差异很小,但应该可以正常工作。这完全在 Joomla 的范围之外工作,你不应该对 Joomla 做任何事情来让它工作。

【讨论】:

它会给你一个错误吗?此代码绝对适用于 Joomla 安装,我在 40 多个网站上都有。【参考方案2】:

您可以将以下内容放入您的.htaccess 来执行此操作:

RewriteCond %HTTP_HOST ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

【讨论】:

'nd' 的目的是什么? @BryanH,非常感谢您编辑编辑的内容,至少您能检查一下“nd”是否正确吗?尽我所能,我找不到任何关于它的东西。 @YannisDran 它看起来像是一个错字。根据RewriteRule docs,flags 必须放在括号中,并且没有'nd' flag。【参考方案3】:
RewriteCond %HTTP_HOST !^www\. 
RewriteRule ^(.*)$ http://www.%HTTP_HOST/$1 [R=301,L]

这对我一直有效

【讨论】:

您能否更好地描述您的解决方案?

以上是关于将非 www URL 重定向到 www URL的主要内容,如果未能解决你的问题,请参考以下文章

将非 WWW 重定向到 WWW URL

将非 www url 重定向到 www

如何使用 htaccess 将非 www 重定向到 www URL?

如何将非www站点重定向到www站点?

如何将非 www 域重定向到 Azure 上托管的 asp.net mvc 中的 WWW 域?

将 WWW 重定向到非 WWW,或者相反? [关闭]