programing

오류: 찾고 있는 리소스가 제거되었거나 이름이 변경되었거나 일시적으로 사용할 수 없습니다.

elecom 2023. 4. 23. 10:04
반응형

오류: 찾고 있는 리소스가 제거되었거나 이름이 변경되었거나 일시적으로 사용할 수 없습니다.

전개하는 거의 모든 웹 사이트/api 서비스/모바일 서비스를 오프레이트 하면 디폴트 이외의 루트를 클릭하면 '찾고 있는 리소스가 삭제되었습니다, 이름이 변경되었습니다, 또는 일시적으로 사용할 수 없습니다'라는 오류가 나타납니다.

테스트를 위해 간단한 ASP를 만들었습니다.Net WebAPI 앱 및 ASP.Net MVC Web 사이트 및 Azure에 도입.전개되어 디폴트페이지가 표시됩니다.그 후의 링크에 대해서는, 에러가 표시됩니다.

아래는 모바일 서비스입니다.portal.azure.com.auth/facebook/facebook/callback에서 변경 없이 작성 및 업로드되고 설정된 페이스북 인증

코드의 카피는, https://1drv.ms/u/s!AkQ9G9AdaYOPgaZ-vXUdlSW9RuQzOQ 에 있습니다.

제가 뭘 잘못하고 있는 걸까요?

web.config 파일을 azure 디렉토리에 추가합니다.아래 코드를 추가합니다.

<configuration>
<system.webServer>
    <rewrite>
      <rules>
        <rule name="Main Rule" stopProcessing="true">
                <match url=".*" />
                <conditions logicalGrouping="MatchAll">
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                </conditions>
                <action type="Rewrite" url="/" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>
</configuration>

json 파일 또는 다른 파일이 존재하더라도 열 수 없는 경우 다음을 추가하십시오.

<system.webServer>
<staticContent>
  <mimeMap fileExtension=".woff2" mimeType="application/x-font-woff" />
  <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
  <mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>

다음과 같은 이점이 있습니다.

이 문제를 해결하려면 Angular 2 응용 프로그램에 web.config 파일을 제공해야 합니다.

https://hgminerva.wordpress.com/2016/04/27/hosting-angular-2-in-windows-azure-error-the-resource-you-are-looking-for-has-been-removed-had-its-name-changed-or-is-temporarily-unavailable/

이 오류는 AllManagedModulesForAllRequests="false"를 실행할 때 발생했습니다.

    <modules runAllManagedModulesForAllRequests="true">
        <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v20.1, Version=20.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" name="ASPxHttpHandlerModule" />
        <remove name="FormsAuthentication" />
        <remove name="DefaultAuthentication" />
        <remove name="OutputCache" />
        <remove name="AnonymousIdentification" />
        <remove name="RoleManager" />
    </modules>

보안 감사 - 보안 감사자가 삭제하도록 요청했습니다.

물리 패스 C:\Users\Dell\Documents\개발\WebServicePortal\PyWebServicePortal\DashboardView\robots.txt

404(찾고 있는 리소스가 삭제되었거나 이름이 변경되었거나 일시적으로 사용할 수 없음)가 발생하고 있었습니다.리소스 코드가 발견되면 커스텀 에러를 사용하고 싶었습니다.다음 코드를 사용했습니다.

<httpErrors errorMode="Custom" existingResponse="Auto" defaultResponseMode="File" >
      <remove statusCode="404"/>
      <error statusCode="404" path="ErrorPages/Oops.html" />
    </httpErrors>

여기에 이미지 설명 입력

이는 시스템 버전 관리 문제와 관련된 동일한 메시지 오류입니다.Net.Http.dll, 시스템Net.Http.포맷.dll 및 시스템.Net.Http.WebRequest.dll.이 어셈블리는 글로벌 캐시에서 사용되었을 것으로 생각되지만, Azure Web API의 bin 폴더에 게시하는 것을 수정했습니다.Azure에서 동작하지 않는ASP Web API에서 자세한 내용을 확인할 수 있습니다.

위의 옵션을 모두 사용해 봤지만, 어느 것도 문제를 해결할 수 없었습니다.

web.config 파일을 추가해서 해결했습니다.src폴더와 주입을 위해package.json파일.

"tsConfig": "tsconfig.app.json",
"aot": true,
"assets": [
    "src/favicon.ico",
    "src/assets",
    **"src/web.config"**
],

이 문제를 해결하려면 다음 코드를 사용하여 web.config 파일을 src 폴더(root 디렉토리)에 추가합니다.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="AngularJS" stopProcessing="true">
          <match url=".*" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
            <add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
            <add input="{REQUEST_URI}" pattern="^/help" negate="true" />
          </conditions>
          <action type="Rewrite" url="/" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

위의 코드에서 API Path는 매우 중요합니다.이것은 서버의 폴더 구조체에 따라 다를 수 있습니다.

<add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />

내 경우 폴더 이름이 'Publish'입니다.API'와 이 폴더 내에 전개된 모든 .dls를 보관하고 있습니다.그러므로 제 경우 경로는 다음과 같습니다.

<add input="{REQUEST_URI}" pattern="^/PublishAPI/(api)" negate="true" />

언급URL : https://stackoverflow.com/questions/38019874/error-the-resource-you-are-looking-for-has-been-removed-had-its-name-changed

반응형