찾다

 >  Q&A  >  본문

아파치 별칭, 리디렉션 및 재작성의 차이점은 무엇입니까?

Apache에는 별칭, 리디렉션 및 재작성 기능이 있지만 이들 간의 연결과 차이점을 이해하지 못합니다

어떤 상황에서 사용하는 것이 더 적합합니까?

黄舟黄舟2753일 전661

모든 응답(1)나는 대답할 것이다

  • 世界只因有你

    世界只因有你2017-05-16 17:06:34

    연결과 차이... 이 주제는 클 수도 있고 작을 수도 있습니다... 이 세 가지는 전혀 다른 것입니다...

    그 중 Alias와 Redirect는 모두 mod_alias로 구현하고...rewrite는 mod_rewrite로 구현합니다...mod_alias 实现的 ... rewrite 是由 mod_rewrite 实现的 ...

    alias 能实现的功能另外两个完全实现不了 ...

    rewrite 可以实现 redirect 提供的所有功能且不仅于此 ... 当然作为代价 rewrite 的消耗也比较大 ...

    使用场景的分别 ...

    alias 提供的是 虚拟目录 的功能 ... 它可以把一个本无法通过 web 访问的区域映射到 web 上来 ...

    举例而言假如你的网站根是 /var/www ... 通过 alias 可以访问到 /home/sunyanzi/public ...

    redirect 提供的是 网页跳转 功能 ... 非常简单的从一个 URL 跳转到另外一个 URL ...

    用个实际的例子举例 ... 当你访问 http://sf.gg 的时候就会跳转到 / ...

    访问 http://sf.gg/bNT4C 的时候就会跳转到这个帖子 ... 这种行为都是 redirect ...

    rewrite 提供的是 网页跳转改变一个页面的 URL 的功能 ...

    网页跳转刚刚解释过了 ... 改变页面 URL 的意思是 ... 假如你的网站上有这样一个功能 ...

    http://yoursite.ext/script?model=user&action=detail&username=Sunyanzi

    你觉得这个 URL 不好看 ... 你就可以将其 rewrite 为 http://yoursite.ext/u/Sunyanzi ...

    和 redirect 的不同之处是当用户访问新地址的时候 ... 浏览器地址栏里的地址不会变化 ...

    rewrite 同时也提供代理功能 ...

    也就是说你可以把我的网站上的一个页面比如 http://mysite.ext/somepage ...

    rewrite 到你的网站上变成 http://yoursite.ext/anotherpage

    alias는 다른 두 사람이 전혀 실현할 수 없는 기능을 실현할 수 있습니다...

    rewrite는 리다이렉트가 제공하는 모든 기능을 구현할 수 있을 뿐만 아니라... 물론 가격이 비싸기 때문에 rewrite는 돈이 많이 소모됩니다...

    사용 시나리오의 차이...

    alias가상 디렉터리 기능을 제공합니다... 웹을 통해 접근할 수 없는 영역을 웹으로 매핑할 수 있습니다...#🎜🎜 #

    예를 들어 웹 사이트 루트가 /var/www인 경우... 별칭을 통해 /home/sunyanzi/public에 액세스할 수 있습니다...#🎜 🎜 #

    redirect웹페이지 이동 기능을 제공합니다... 한 URL에서 다른 URL로 이동하는 것은 매우 간단합니다...#🎜🎜# #🎜🎜#실용적인 예를 들어보세요... http://sf.gg에 접속하시면 /...#🎜🎜#로 이동하게 됩니다. #🎜🎜#http://sf.gg/bNT4C를 방문하시면 이 게시물로 이동하게 됩니다... 이 동작은 리디렉션입니다...#🎜🎜# #🎜🎜#rewrite웹페이지 이동페이지 URL 변경 기능을 제공합니다...#🎜🎜# #🎜🎜#웹페이지 점프에 대해 방금 설명했습니다... 페이지 URL을 바꾼다는 것은... 홈페이지에 그런 기능이 있다면... #🎜🎜# #🎜🎜#http://yoursite.ext/script?model=user&action=detail&username=Sunyanzi#🎜🎜# #🎜🎜#이 URL이 보기에 좋지 않다고 생각되면... http://yoursite.ext/u/Sunyanzi로 다시 작성할 수 있습니다...#🎜🎜# #🎜🎜#과 리디렉션의 차이점은 사용자가 새 주소를 방문할 때... 브라우저 주소 표시줄의 주소가 변경되지 않는다는 것입니다... #🎜🎜# #🎜🎜#rewrite는 프록시 기능도 제공합니다...#🎜🎜# #🎜🎜#즉, 내 웹사이트에 http://mysite.ext/somepage와 같은 페이지를 넣을 수 있습니다...#🎜🎜# #🎜🎜#귀하의 웹사이트를 http://yoursite.ext/anotherpage로 다시 작성하세요 ...#🎜🎜# #🎜🎜#하지만 전제조건은 다시 작성 대상도 웹에서 접근 가능한 영역이어야 한다는 것...#🎜🎜# #🎜🎜#그렇습니다...대체로 그렇습니다... 혹시 이해가 안되는 부분이 있나요...?#🎜🎜# #🎜🎜#사실 이런 것들은 온라인에서 구할 수 있습니다... 제가 임시로 쓴 답변보다 더 포괄적인 내용입니다...#🎜🎜# #🎜🎜#나, 나... 나는 그저 자유롭다... 나는 반격할 것이다... 위로해주세요... #🎜🎜#

    회신하다
    0
  • 취소회신하다