programing

ASP에서 favicon.ico를 서비스하고 있습니다.넷 MVC

closeapi 2023. 4. 21. 20:53
반응형

ASP에서 favicon.ico를 서비스하고 있습니다.넷 MVC

ASP에서 favicon.ico를 제공하는 방법에 대한 최종/최선의 권장사항은 무엇입니까?NET MVC?

저는 현재 다음을 하고 있습니다.

  • RegisterRoutes 메서드의 맨 에 엔트리 추가:

    routes.IgnoreRoute("favicon.ico");
    
  • favicon.ico를 어플리케이션의 루트에 배치한다(도메인의 루트가 된다).

두 가지 질문이 있습니다.

  • favicon.ico를 제 어플 루트 말고는 다른 곳에 둘 방법이 없나요?같은 레벨로 있는 건 좀 이상해요Content그리고.Controllers.
  • 이것은IgnoreRoute("favicon.ico")충분한 설명 - 또는 필 해크의 블로그 투고에서 논의된 바와 같이 다음 작업도 수행해야 합니다.루트 이외의 디렉토리에서 favicon.ico에 대한 요청을 본 적이 없습니다.이러한 요청은 불필요합니다(하지만 방법을 아는 것은 좋은 일입니다).

    routes.IgnoreRoute("{*favicon}", new {favicon=@"(.*/)?favicon.ico(/.*)?"});
    

Chris의 답변에 동의합니다만, 이것은 특정 ASP입니다.NET MVC 질문: 레이저 구문 중 하나를 사용하는 것이 좋습니다.

<link rel="icon" href="@Url.Content("~/content/favicon.ico")"/>

또는 종래에는

<link rel="icon" href="<%= Url.Content("~/content/favicon.ico") %>"/>

보다는

<link rel="icon" href="http://www.mydomain.com/content/favicon.ico"/>

favicon.ico를 도메인의 루트에 배치하는 것은 IE5, IIRC에만 영향을 줍니다.최신 브라우저에서는 다른 디렉토리를 가리키는 링크 태그를 포함할 수 있습니다.

<link rel="SHORTCUT ICON" href="http://www.mydomain.com/content/favicon.ico"/>

IE 이외의 브라우저에서는 non-ico 파일을 사용할 수도 있습니다.이 경우 다음 조건문을 사용하여 PNG를 FF 등에 제공하고 ICO를 IE에 제공할 수 있습니다.

<link rel="icon" type="image/png" href="http://www.mydomain.com/content/favicon.png" />
<!--[if IE]>
<link rel="shortcut icon" href="http://www.mydomain.com/content/favicon.ico" type="image/vnd.microsoft.icon" />
<![endif]-->

1) 원하는 위치에 즐겨찾기를 넣고 페이지 헤드에 이 태그를 추가할 수 있습니다.

<link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" />

일부 브라우저는 기본적으로 /favicon.ico에서 favicon을 가져오려고 하므로 IgnoreRoute를 사용해야 합니다.

2) 브라우저가 다른 디렉토리에서 favicon을 요청하면 404 에러가 발생하며, 마스터 페이지에서 answer 1에 링크 태그가 있으면 브라우저는 원하는 favicon을 얻을 수 있습니다.

favicon.ico는 root 폴더에 있어야 할 것 같아요.그건 그냥 거기에 있어야 해.

다른 아이콘을 강조하려면 제어기에 넣으십시오.당신은 그것을 할 수 있어요.그렇지 않은 경우 - 루트 폴더에 그대로 두십시오.

위 중 어느 것도 나에게 통하지 않았다.favicon.ico를 myicon.ico로 바꾸고 머릿속으로 참고함으로써 이 문제를 해결했습니다.<link rel="icon" href="~/myicon.ico" type="image/x-icon" />

또한 ico 파일을 반환하는 컨트롤러를 생성하여 /favicon.ico 경로를 등록하여 해당 컨트롤러를 가리킬 수도 있습니다.

하면 .app.UseStaticFiles();cs > startup.cs 에 - - ->public void Configure(IApplicationBuilder app, IHostingEnvironment env).

ASP.net core를 사용하면 정적 파일을 얻을 수 있습니다.wwwroot 폴더를 사용하고 있습니다.ASP의 정적 파일을 읽으십시오.NET 코어

「 」의 <Link />의 각 입니까?favicon.ico shtHTML 、 cshtml 。

fav 아이콘 파일을 검색하는 경향이 있는 favicon.ico 대신 이것을 사용합니다.

> <link rel="ICON" 
> href="@System.IO.Path.Combine(Request.PhysicalApplicationPath,
> "favicon.ico")" />

요청된 경로를 사용하여 fav 아이콘 파일과 결합하여 검색할 정확한 주소를 얻습니다.

이를 사용하여 Application_Error에서 항상 발생하는 Fav.icon 오류를 해결했습니다.

에 기재되어 있습니다.NetCore는 wwwroot가 아닌 /lib에 favicon.ico를 배치하면 문제가 해결됩니다.

언급URL : https://stackoverflow.com/questions/487230/serving-favicon-ico-in-asp-net-mvc

반응형