<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # Apache模塊 mod_vhost_alias | [說明](#calibre_link-11) | 提供大批量虛擬主機的動態配置支持 | | --- | --- | | [狀態](#calibre_link-12) | 擴展(E) | | [模塊名](#calibre_link-13) | vhost_alias_module | | [源文件](#calibre_link-14) | mod_vhost_alias.c | ### 概述 本模塊通過將HTTP請求中的IP地址和/或"`Host:`"頭內容轉換為所要提供服務的文件路徑名來創建動態的虛擬主機配置。這樣的做法,使得應用配置大量相似的虛擬主機變得更為容易。 ### 注意 如果使用`mod_alias`或`mod_userdir`來將URI轉換為文件名,那么`mod_vhost_alias`的設定將被覆蓋。例如,下面的配置將始終把`/cgi-bin/script.pl` 映射為`/usr/local/apache2/cgi-bin/script.pl` 。 ``` ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/ VirtualScriptAlias /never/found/%0/cgi-bin/ ``` ## 目錄名稱的轉換 本模塊中的所有指令都用于將字符串替換為路徑名。被替換的字符串(以后稱為"name")可以是服務器名(參見`UseCanonicalName`指令以了解決策方法)或者是"點數字"格式的虛擬主機IP地址。替換操作由`printf`格式修飾符控制,該修飾符有以下幾種格式: | `%%` | 插入一個百分號(`%`) | | --- | --- | | `%p` | 插入虛擬主機的端口號 | | `%N.M` | 插入名稱(或者名稱的一部分) | `N`和`M`被用來指定name中的子字符串。`N`從name中用小數點分隔的某部分中選取,而`M`是從`N`選中的字符串中選取部分字符。`M`是可選的且默認為"0";小數點當且僅當`M`存在時才必須書寫。替換操作如下: | `0` | 整個name | | --- | --- | | `1` | 第一部分 | | `2` | 第二部分 | | `-1` | 最后一部分 | | `-2` | 倒數第二部分 | | `2+` | 從第二部分開始到最后的所有部分 | | `-2+` | 倒數第二部分以及之前的各部分 | | `1+`和`-1+` | 等同于`0` | 如果`N`或`M`大于部分的個數,則簡單的用下劃線來替換。 ## 示例 對于一個簡單的基于名稱的虛擬主機,配置文件中可能會使用下面的指令: ``` UseCanonicalName Off VirtualDocumentRoot /usr/local/apache/vhosts/%0 ``` 那么對`http://www.example.com/directory/file.html`的請求將會返回文件`/usr/local/apache/vhosts/www.example.com/directory/file.html` 對于擁有大量虛擬主機的情況而言,減少`vhosts`目錄大小的一個好辦法就是重新組織。為此你可以使用下面的配置: ``` UseCanonicalName Off VirtualDocumentRoot /usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2 ``` 那么對`http://www.domain.example.com/directory/file.html`的請求將會返回文件`/usr/local/apache/vhosts/example.com/d/o/m/domain/directory/file.html` 進一步的分割可以用name尾字符來索引(hashing),例如: ``` VirtualDocumentRoot /usr/local/apache/vhosts/%3+/%2.-1/%2.-2/%2.-3/%2 ``` 該例返回文件`/usr/local/apache/vhosts/example.com/n/i/a/domain/directory/file.html` 也可以這樣使用: ``` VirtualDocumentRoot /usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2.4+ ``` 該例返回文件`/usr/local/apache/vhosts/example.com/d/o/m/ain/directory/file.html` 對于基于IP地址的虛擬主機,可以這樣配置: ``` UseCanonicalName DNS VirtualDocumentRootIP /usr/local/apache/vhosts/%1/%2/%3/%4/docs VirtualScriptAliasIP /usr/local/apache/vhosts/%1/%2/%3/%4/cgi-bin ``` 對`http://www.domain.example.com/directory/file.html`的請求將會返回文件`/usr/local/apache/vhosts/10/20/30/40/docs/directory/file.html` ,這里假設`www.domain.example.com`的IP地址為10.20.30.40。對`http://www.domain.example.com/cgi-bin/script.pl`的請求將會執行程序`/usr/local/apache/vhosts/10/20/30/40/cgi-bin/script.pl` 如果你希望在`VirtualDocumentRoot`指令中包含點字符(`.`),但這又和`%`指令產生沖突,可以這樣解決: ``` VirtualDocumentRoot /usr/local/apache/vhosts/%2.0.%3.0 ``` 對`http://www.domain.example.com/directory/file.html`的請求將會返回文件`/usr/local/apache/vhosts/domain.example/directory/file.html` `LogFormat`指令的`%V`和`%A`在和本模塊的協同中起了一定作用。 ## VirtualDocumentRoot 指令 | [說明](#calibre_link-18) | 對于給定的基于名稱的虛擬主機動態配置根文檔目錄 | | --- | --- | | [語法](#calibre_link-19) | `VirtualDocumentRoot _interpolated-directory_&#124;none` | | [默認值](#calibre_link-24) | `VirtualDocumentRoot none` | | [作用域](#calibre_link-20) | server config, virtual host | | [狀態](#calibre_link-21) | 擴展(E) | | [模塊](#calibre_link-22) | mod_vhost_alias | `VirtualDocumentRoot`指令使Apache可以通過虛擬主機的域名找到相應的文檔。擴展_interpolated-directory_所得到的目錄將會作為虛擬主機的根目錄,這和`DocumentRoot`指令的參數是一樣的。如果_interpolated-directory_為`none` ,那么`VirtualDocumentRoot`將被關閉。該指令不能和`VirtualDocumentRootIP`指令在同一作用域中使用。 ## VirtualDocumentRootIP 指令 | [說明](#calibre_link-18) | 對于給定的基于IP的虛擬主機動態配置根文檔目錄 | | --- | --- | | [語法](#calibre_link-19) | `VirtualDocumentRootIP _interpolated-directory_&#124;none` | | [默認值](#calibre_link-24) | `VirtualDocumentRootIP none` | | [作用域](#calibre_link-20) | server config, virtual host | | [狀態](#calibre_link-21) | 擴展(E) | | [模塊](#calibre_link-22) | mod_vhost_alias | `VirtualDocumentRootIP`與`VirtualDocumentRoot`相似,只是替換操作時用的不是虛擬主機名稱,而是IP地址。 ## VirtualScriptAlias 指令 | [說明](#calibre_link-18) | 對于給定的基于名稱的虛擬主機動態配置CGI目錄 | | --- | --- | | [語法](#calibre_link-19) | `VirtualScriptAlias _interpolated-directory_&#124;none` | | [默認值](#calibre_link-24) | `VirtualScriptAlias none` | | [作用域](#calibre_link-20) | server config, virtual host | | [狀態](#calibre_link-21) | 擴展(E) | | [模塊](#calibre_link-22) | mod_vhost_alias | `VirtualScriptAlias`指令使Apache確定何處存放的是CGI腳本,這和`VirtualDocumentRoot`的做法是一樣的。它匹配請求中的以`/cgi-bin/`開始的URI,更像"`ScriptAlias` `/cgi-bin/`"的作用。 ## VirtualScriptAliasIP 指令 | [說明](#calibre_link-18) | 對于給定的基于IP的虛擬主機動態配置CGI目錄 | | --- | --- | | [語法](#calibre_link-19) | `VirtualScriptAliasIP _interpolated-directory_&#124;none` | | [默認值](#calibre_link-24) | `VirtualScriptAliasIP none` | | [作用域](#calibre_link-20) | server config, virtual host | | [狀態](#calibre_link-21) | 擴展(E) | | [模塊](#calibre_link-22) | mod_vhost_alias | `VirtualScriptAliasIP`和`VirtualScriptAlias`相似,只是替換操作使用的不是虛擬主機名稱,而是IP地址。 ``
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看