您好,登錄后才能下訂單哦!
apache偽靜態(tài)通用規(guī)則都有哪些?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
apache偽靜態(tài)規(guī)則
1、簡單的重定向規(guī)則
RewriteEngine On //啟動規(guī)則 RewriteBase / //根目錄啟動偽靜態(tài) RewriteRule ^index/$ index.php //訪問index/ 那么就是訪問index.php RewriteRule ^register/$ /s_youka/register.html //訪問register 就是訪問/s_youka/register.html
2、稍微復(fù)雜的規(guī)則
RewriteEngine on RewriteRule ^(.*)list-([0-9]+)-([0-9]+)\.html$ $1list.php?page=$1&id=$2 //后面的 $1 $2 對應(yīng)前面的()內(nèi)的代碼 其他的是正則規(guī)則 //^代表開頭$代表結(jié)束 [0-9]+ 是多個0到9之間的數(shù)字 \是轉(zhuǎn)義后面的.
3、精準(zhǔn)的規(guī)則
/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 交給下一條處理
1) R[=code](force redirect) 強制外部重定向。強制在替代字符串加上http://thishost[:thisport]/前綴重定向到外部的URL.如果code不指定,將用缺省的302 HTTP狀態(tài)碼。
2) F(force URL to be forbidden)禁用URL,返回403HTTP狀態(tài)碼。
3) G(force URL to be gone) 強制URL為GONE,返回410HTTP狀態(tài)碼。
4) P(force proxy) 強制使用代理轉(zhuǎn)發(fā)。
5) L(last rule) 表明當(dāng)前規(guī)則是最后一條規(guī)則,停止分析以后規(guī)則的重寫。
6) N(next round) 重新從第一條規(guī)則開始運行重寫過程。
7) C(chained with next rule) 與下一條規(guī)則關(guān)聯(lián)。如果規(guī)則匹配則正常處理,該標(biāo)志無效,如果不匹配,那么下面所有關(guān)聯(lián)的規(guī)則都跳過。
8) T=MIME-type(force MIME type) 強制MIME類型
9) NS (used only if no internal sub-request) 只用于不是內(nèi)部子請求
10) NC(no case) 不區(qū)分大小寫
11) QSA(query string append) 追加請求字符串
12) NE(no URI escaping of output) 不在輸出轉(zhuǎn)義特殊字符
例如:RewriteRule /foo/(.*) /bar?arg=P1%3d$1 [R,NE] 將能正確的將/foo/zoo轉(zhuǎn)換成/bar?arg=P1=zoo
13) PT(pass through to next handler) 傳遞給下一個處理
例如:
RewriteRule ^/abc(.*) /def$1 [PT] # 將會交給/def規(guī)則處理 Alias /def /ghi
14) S=num(skip next rule(s)) 跳過num條規(guī)則
15) E=VAR:VAL(set environment variable) 設(shè)置環(huán)境變量
4、discuz3x的規(guī)則
RewriteEngine On //開啟 RewriteBase / //當(dāng)前根目錄 RewriteCond %{QUERY_STRING} ^(.*)$ //定義了規(guī)則生效的條件-查詢字符串 RewriteRule ^topic-(.+)\.html$ portal.php?mod=topic&topic=$1&%1 //topic-開頭 .htm后綴 實際上市訪問了 后面的地址
5、nginx類似
Nginx下設(shè)置偽靜態(tài)方法與Apache差不多,直接在nginx.conf (或者在對應(yīng)的*.conf) 中找到需設(shè)置偽靜態(tài)規(guī)則的服務(wù)器對應(yīng)字段,在server{ location/{ } }中添加以下代碼:
server { listen 80 default_server; server_name _; location / { root /usr/share/nginx/html; index index.html index.htm; rewrite ^(.*)list-([0-9]+)-([0-9]+)\.html$ $1list.php?page=$2&id=$3; } }
添加后重啟Nginx服務(wù)即可生效!
關(guān)于apache偽靜態(tài)通用規(guī)則都有哪些問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。