最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Apache mod_rewrite中的REQUEST_URI使用實例

 更新時間:2015年01月27日 10:03:52   投稿:junjie  
這篇文章主要介紹了Apache mod_rewrite中的REQUEST_URI使用實例,本文使用一個實例講解如何使用REQUEST_URI,需要的朋友可以參考下

如下規(guī)則:

復制代碼 代碼如下:

RewriteEngine on
# sitemap index xml rewrite
RewriteRule ^sitemap_([a-zA-Z0-9_\-]+)\.xml$ /sitemap/$1
# redirected all invalid request the the index bootstrap
RewriteRule !\.(htm|txt|xml|css|js|swf|gif|jpg|png|ico)$ index.php [L]

假設訪問 sitemap_index.xml ,當經過兩次RewriteRule之后,傳給bootstrap程序 index.php 的 $_SERVER['REQUEST_URI'] 值仍然是 /sitemap_index.xml ,但實際上希望是 /sitemap/index ,這樣 index.php 才能正確的進行 url route 。

要達到這個目的,有兩個方法。

第一種方式,配合 mod_proxy ,將第一條重寫規(guī)則改為

復制代碼 代碼如下:

# sitemap index xml rewrite
RewriteRule ^sitemap_([a-zA-Z0-9_\-]+)\.xml$ /sitemap/$1 [P,L]

這樣將在內部產生一個新的URL請求, REQUEST_URI 的值也就變成了新的 /sitemap/index 。但這種方法制造了額外的一次 http 請求。

第二種方法,將第一條規(guī)則改為

復制代碼 代碼如下:

# sitemap index xml rewrite
RewriteRule ^sitemap_([a-zA-Z0-9_\-]+)\.xml$ /sitemap/$1 [E=REQUEST_URI:/sitemap/$1]

或者
復制代碼 代碼如下:

# sitemap index xml rewrite
RewriteRule ^sitemap_([a-zA-Z0-9_\-]+)\.xml$ index.php [E=REQUEST_URI:/sitemap/$1,L]

然后通過 $_SERVER['REDIRECT_REQUEST_URI'] 變量得到 值 /sitemap/index (注意使用 E 設置環(huán)境變量的時候,mod_rewrite 自動給變量加上 REDIRECT_ 前綴)。

有趣的是在 Rewrite 的過程中 REQUEST_URI 的值始終保持是原始的請求URI,但在 mod_setenvif 中提供的 SetEnvIf / SetEnvIfNoCase 中所使用的 Request_URI 屬性得到的卻是經過 rewrite 之后的地址而非原始 GET/POST 中的 URI。

所以如果在 httpd.conf / httpd-vhosts.conf 中想使用

復制代碼 代碼如下:

SetEnvIfNoCase Request_URI "sitemap" ...

來針對 sitemap 設置環(huán)境變量的話是不起作用的,因為這時候傳給 SetEnvIfNoCase 進行判斷的 Request_URI 是 index.php 而不是 sitemap_index.xml 或 sitemap/index 。想要得到原始的 Request_URI 信息就必須在 rewrite 規(guī)則的最開始進行保存,比如在 rewrite 規(guī)則開頭加入
復制代碼 代碼如下:

SetEnvIfNoCase Request_URI "(^/sitemap_.*\.xml)" MY_REQUEST_URI_BF_REWRITE=$1

然后在需要的地方使用
復制代碼 代碼如下:

SetEnvIfNoCase MY_REQUEST_URI_BF_REWRITE "sitemap" ...

相關文章

  • 詳解ssh免密碼登錄配置方法(圖示加命令)

    詳解ssh免密碼登錄配置方法(圖示加命令)

    這篇文章主要介紹了詳解ssh免密碼登錄配置方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • 輕松搞定VIM高亮NGINX配置文件的方法

    輕松搞定VIM高亮NGINX配置文件的方法

    在使用vim在寫東西的時候,如果有語法高亮顯示就會方便很多,之前給大家介紹了很多關于vim高亮的文章,那這篇文章主要給大家介紹了如何輕松搞定VIM高亮NGINX配置文件的方法,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-10-10
  • 在Linux中將用戶添加到特定組的四種方法

    在Linux中將用戶添加到特定組的四種方法

    本文詳細介紹了在Linux系統中將用戶添加到特定組的四種方法:使用`usermod`命令、`gpasswd`命令、Shell腳本以及手動編輯`/etc/group`文件,通過這些方法,可以方便地管理用戶的主要組和次要組,實現用戶權限的靈活配置,需要的朋友可以參考下
    2025-02-02
  • 簡單測試Apache是如何完成負載均衡策略配置

    簡單測試Apache是如何完成負載均衡策略配置

    公司的系統在最初設計的時候就已經考慮到了負載均衡的規(guī)劃,此次 就是對負載均衡的一個簡單測試
    2014-01-01
  • CentOS8中的nmcli使用詳解

    CentOS8中的nmcli使用詳解

    這篇文章主要介紹了CentOS8的nmcli使用,基于RHEL8/CentOS8的nmcli常見命令使用,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • Linux下如何檢查網卡bonding狀態(tài)和切換主備網卡

    Linux下如何檢查網卡bonding狀態(tài)和切換主備網卡

    這篇文章主要介紹了Linux下如何檢查網卡bonding狀態(tài)和切換主備網卡問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 解決Linux中nohup.out日志過大問題

    解決Linux中nohup.out日志過大問題

    這篇文章主要介紹了解決Linux中nohup.out日志過大問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • centos7.2搭建nginx的web服務器部署uniapp項目

    centos7.2搭建nginx的web服務器部署uniapp項目

    這篇文章主要介紹了centos7.2搭建nginx的web服務器部署uniapp項目,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • 談一談Linux系統重要的子目錄問題

    談一談Linux系統重要的子目錄問題

    這篇文章主要介紹了Linux系統重要的子目錄問題,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-09-09
  • 詳解虛擬機中CentOS 7 網絡和ssh的配置

    詳解虛擬機中CentOS 7 網絡和ssh的配置

    這篇文章主要介紹了詳解虛擬機中CentOS 7 網絡和ssh的配置,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-03-03

最新評論

江陵县| 临清市| 乌兰浩特市| 长子县| 五河县| 会宁县| 贵德县| 漯河市| 东辽县| 麻城市| 昌邑市| 安岳县| 诏安县| 涿州市| 湘乡市| 东乡族自治县| 肥乡县| 神池县| 涡阳县| 石城县| 沙坪坝区| 靖安县| 临清市| 封开县| 安化县| 宣化县| 尼勒克县| 宁波市| 抚顺县| 德江县| 嘉兴市| 科技| 凉城县| 临夏市| 沙洋县| 西丰县| 崇仁县| 钦州市| 织金县| 铁力市| 镇平县|