apache 的 aliases,redirecting,rewriting 都有什麼不同?
黄舟
黄舟 2017-05-16 17:04:34
0
1
659

apache 裡有別名 aliases 重定向 redirecting 以及 重寫 rewriting 功能,但並不理解他們之間的聯繫與區別

它們分別是在什麼情況下使用比較合適呢

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回覆(1)
世界只因有你

聯繫與區別 ... 這個話題可大可小 ... 這三個是完全不同的東西 ...

其中 alias 和 redirect 都是由 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 的目標必須也是在 web 可訪問的區域上的 ...

恩恩 ... 大體就是這樣 ... 有什麼不明白的麼 ..?

其實這些東西網上都有 ... 比我臨時寫的這個答案還更全面 ...

我我 ... 我就是閒的我 ... 我還手打一遍 ... 求安慰 ...

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板