오류: 찾고 있는 리소스가 제거되었거나 이름이 변경되었거나 일시적으로 사용할 수 없습니다.
전개하는 거의 모든 웹 사이트/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 파일을 제공해야 합니다.
이 오류는 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
'programing' 카테고리의 다른 글
| 파일에서 발생하는 모든 문자열을 PowerShell로 대체하려면 어떻게 해야 합니까? (0) | 2023.04.23 |
|---|---|
| Linux에서 전체적인 CPU 사용률(57%)을 얻는 방법 (0) | 2023.04.23 |
| 방법 옆의 목표 C에서 더하기 기호와 빼기 기호는 무엇을 의미합니까? (0) | 2023.04.23 |
| Git에서 비활성 리모트 브랜치 참조를 삭제하려면 어떻게 해야 합니까? (0) | 2023.04.23 |
| 애플리케이션 통찰력에 404개의 응답을 무시하도록 지시하는 방법 (0) | 2023.04.23 |
