apache偽靜態規則解析

2021-09-18 09:08:00 字數 1392 閱讀 3696

1 簡單的重定向規則

rewriteengine on  //啟動規則

rewritebase / //根目錄啟動偽靜態

rewriterule ^index/$ index.php //訪問index/ 那麼就是訪問index.php

rewriterule ^register/$ /s_youka/register.html //訪問register 就是訪問/s_youka/register.html

2  稍微複雜一點的

rewriteengine on

rewriterule ^(.*)list-([0-9]+)-([0-9]+)\.html$ $1list.php?page=$1&id=$2

//後面的 $1 $2 對應前面的()內的** 其他的是正則規則

//^代表開頭$代表結束 [0-9]+ 是多個0到9之間的數字 \是轉義後面的.

3  更精準一些的

/type.php?typeid=* –> /type*.html

/type.php?typeid=*&page=* –> /type*page*.html

rewriterule ^/type([0-9]+).html$ /type.php?typeid=$1 [pt]

rewriterule ^/type([0-9]+)page([0-9]+).html$ /type.php?typeid=$1&page=$2 [pt]

//重點介紹下pt 交給下一條處理

複製** **如下:

rewriterule ^/abc(.*) /def$1 [pt] # 將會交給/def規則處理

alias /def /ghi

14) s=num(skip next rule(s)) 跳過num條規則

15) e=var:val(set environment variable) 設定環境變數

4  discuz3x的規則

rewriteengine on  //開啟

rewritebase / //當前根目錄

rewritecond % ^(.*)$ //定義了規則生效的條件-查詢字串

rewriterule ^topic-(.+)\.html$ portal.php?mod=topic&topic=$1&%1

//topic-開頭 .htm字尾 實際上市訪問了 後面的位址

5 nginx類似

nginx下設定偽靜態方法與apache差不多,直接在nginx.conf (或者在對應的*.conf) 中找到需設定偽靜態規則的伺服器對應字段,在server }中新增以下**:

server 

}

新增後重啟nginx服務即可生效!

apache大師 偽靜態 Apache配置偽靜態

apache配置偽靜態 注意 本文中關於apache的配置修改,一定要記得重啟apache服務 偽靜態的實現有多種方法,比如通過獲取path info資訊使用php邏輯來達到偽靜態,使用apache提供的rewrite來達到偽靜態,本文主要對apache提供的rewrite實現偽靜態做個記錄 1 開...

apache偽靜態轉為nginx偽靜態

1.將原apache專案中的偽靜態檔案轉化為nginx的偽靜態 2.將轉化後的偽靜態覆蓋原來的偽靜態檔案內的內容 3.配置nginx伺服器的檔案 4.重新啟動nginx伺服器 詳解 1 找到專案中的偽靜態檔案 vim開啟檔案,將內容複製出來 下面這個是本人的檔案 2 下面這個是自動轉化的 3 將轉化...

apache實現偽靜態

首先在apache裡開啟配置檔案httpd.conf,找到loadmodule rewrite module modules mod rewrite.so,將前面的 號刪掉,如果沒有這句話則自己新增一句。一般有倆種方法可以重寫url 第一 如果有修改httpd.conf許可權,可以直接在httpd....