如果 www 不存在,如何在 url 的开头附加它



我创建了一个网站 www.abc.com我希望如果用户只是输入 abc.com 而不是(没有www.),他可以访问我的网站,我已经做到了这部分。现在我希望当用户只输入 abc.com url 自动更改为 www.abc.com 请帮助我

提前致谢

web.config<system.webServer>部分中,添加以下内容:

通配符

<rewrite>
    <rules>
        <rule name="Redirect domain.com to www" patternSyntax="Wildcard" stopProcessing="true">
            <match url="*" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="domain.com" />
            </conditions>
            <action type="Redirect" url="http://www.domain.com/{R:0}" />
        </rule>
    </rules>
</rewrite>

欲了解更多信息

使用此代码可能会对您有所帮助 -

使用 .htaccess 重定向

如果您的网站托管在 Apache 上,您可以从 WWW 重定向到非 WWW,反之亦然,只需在 .htaccess 文件中添加几行。

将 WWW 重定向到非 WWW:

重写引擎打开

RewriteCond %{HTTP_HOST} !^(yourdomain.com)?$

重写规则 ^(.*)$ http://yourdomain.com/$1 [R=301,L]

将非 WWW 重定向到 WWW:

重写引擎打开

RewriteCond %{HTTP_HOST} !^(www.yourdomain.com)?$

重写规则 ^(.*)$ http://www.yourdomain.com/$1 [R=301,L]

使用 IIS7 重定向

对于 IIS7,实际上有两种方法可以做到这一点。为此需要 URL 重写扩展。

第一种方法涉及在相关站点的 web.config 文件的 system.webServer 部分添加以下内容作为第一条规则。

将 WWW 重定向到非 WWW:

    <rewrite>
    <rules>
       <rule name="www to non www"" enabled="true">
          <match url="(.*)" />
          <conditions>
        <add input="{HTTP_HOST}" negate="true" pattern="^www.yourdomain.com$"  />
     </conditions>
     <action type="Redirect" url=http://www.yourdomain.com/{R:1}” redirectType="Permanent" />
  </rule>

将非 WWW 重定向到 WWW:

    <rewrite>
       <rules>
          <rule name="non www to www" enabled="true">
             <match url="(.*)" />
             <conditions>
                <add input="{HTTP_HOST}" negate="true" pattern="^www.youdomain.com$" />
             </conditions>
             <action type="Redirect" url="http://www.yourdomain.com/{R:0}" redirectType="Permanent" />
          </rule>
       </rules>
    </rewrite>

另一种选择是转到您的域服务器并在那里添加重定向。保持您的 Web 服务器不变。

最新更新