如何阻止默认 .azurewebsites.net 域被编入索引并出现在 Google 搜索中 (ASP.NET Core 6 MVC)

问题描述 投票:0回答:1

我的网站域名遇到问题。我将 ASP.NET Core 6 MVC 项目部署到 Azure 应用服务,它在免费的 Azure 默认域上运行

domain.azurewebsite.net

然后,我添加了从其他服务提供商购买的自定义域,并将我的应用程序配置为使用该域。效果很好,没有任何其他问题。

但是我发现最后一个默认域和自定义域都出现在Google搜索中。

我尝试添加 301 重定向和

robots.txt
将最后一个域的请求重定向到自定义域,但问题仍然存在。

我只想在搜索引擎上显示自定义域。

我检查了以下与wordpress相关的问题,但没有帮助。

https://learn.microsoft.com/en-us/answers/questions/1318669/how-to-stop-default-azurewebsites-net-domain-from

我希望有人真心帮助我。欢迎任何建议。

提前致谢。

我从这里和Azure社区检查了QA以获取解决方案,但仍然找不到。

deployment asp.net-core-mvc search-engine azure-appservice custom-domain
1个回答
0
投票

我们可以通过以下设置来实现此功能。请替换默认域名并使用您的域名。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <rewrite>
        <!--<rules>-->
          <!-- Block access to Azure default domain names -->
          <!--<rule name="Block Azure Default Domain" stopProcessing="true">
            <match url="(.*)" />
            <conditions>
              <add input="{HTTP_HOST}" pattern="^webapplication220240628111356\.azurewebsites\.net$" />
            </conditions>
            <action type="CustomResponse" statusCode="404" statusReason="Not Found" statusDescription="This page is not available." />
          </rule>
        </rules>-->
        <outboundRules>
          <!-- Add X-Robots-Tag header -->
          <rule name="Noindex Azure Default Domain" preCondition="ResponseIsHtml">
            <match serverVariable="RESPONSE_X_ROBOTS_TAG" pattern=".*" />
            <conditions>
              <!-- if request from default domain -->
              <add input="{HTTP_HOST}" pattern="^webapplication220240628111356\.azurewebsites\.net$" />
            </conditions>
            <!-- set X-Robots-Tag  -->
            <action type="Rewrite" value="noindex, nofollow" />
          </rule>
          <!-- Precondition to check if response is HTML -->
          <preConditions>
            <preCondition name="ResponseIsHtml">
              <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
            </preCondition>
          </preConditions>
        </outboundRules>
      </rewrite>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\WebApplication1.dll" stdoutLogEnabled="false" stdoutLogFile="\\?\%home%\LogFiles\stdout" hostingModel="inprocess" />
    </system.webServer>
  </location>
</configuration>
© www.soinside.com 2019 - 2024. All rights reserved.