Apache에는 별칭, 리디렉션 및 재작성 기능이 있지만 이들 간의 연결과 차이점을 이해하지 못합니다
어떤 상황에서 사용하는 것이 더 적합합니까?
世界只因有你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
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
로 다시 작성하세요 ...#🎜🎜#
#🎜🎜#하지만 전제조건은 다시 작성 대상도 웹에서 접근 가능한 영역이어야 한다는 것...#🎜🎜#
#🎜🎜#그렇습니다...대체로 그렇습니다... 혹시 이해가 안되는 부분이 있나요...?#🎜🎜#
#🎜🎜#사실 이런 것들은 온라인에서 구할 수 있습니다... 제가 임시로 쓴 답변보다 더 포괄적인 내용입니다...#🎜🎜#
#🎜🎜#나, 나... 나는 그저 자유롭다... 나는 반격할 것이다... 위로해주세요... #🎜🎜#