麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網站 > Apache > 正文

Apache Rewrite偽靜態與URL跳轉配置

2024-08-27 18:22:14
字體:
來源:轉載
供稿:網友

本文章來給各位朋友詳細介紹Apache Rewrite偽靜態配置方法與我們最后跳到的apache URL跳轉配置方法,這里跳轉url不是指301,404了,而一種偽靜態的正常跳轉,很多網站做三級域名時會有到哦。

Rewirte主要的功能就是實現URL的跳轉,Rewirte代碼的正則表達式是基于Perl語言.基于服務器級的(httpd.conf)和目 錄級的 (.htaccess)兩種方式,而我們Apache一般用的是目錄級的 (.htaccess)方式,所以海天這里學習和記錄的也就是(.htaccess)方式,俗稱偽靜態.

既然Rewirte主要的功能就是實現URL的跳轉,所以海天就直接從URL跳轉入手,廢話不多說,開始!

一般的.htaccess偽靜態跳轉寫法為(下例為輸入 a.Vevb.com 的域名時跳轉到www.companysz.com):

  1. RewriteEngine on   
  2. RewriteCond %{HTTP_HOST} ^a.Vevb.com [NC]   
  3. RewriteRule ^(.*) http://www.companysz.com/ [L] 

Apache Rewrite規則重寫的標志

1) R[=code](force redirect) 強制外部重定向 

強制在替代字符串加上http://thishost[:thisport]/前綴重定向到外部的URL.如果code不指定,將用缺省的302 HTTP狀態碼. 

2) F(force URL to be forbidden)禁用URL,返回403HTTP狀態碼. 

3) G(force URL to be gone) 強制URL為GONE,返回410HTTP狀態碼. 

4) P(force proxy) 強制使用代理轉發. 

5) L(last rule) 表明當前規則是最后一條規則,停止分析以后規則的重寫. 

6) N(next round) 重新從第一條規則開始運行重寫過程. 

7) C(chained with next rule) 與下一條規則關聯,如果規則匹配則正常處理,該標志無效,如果不匹配,那么下面所有關聯的規則都跳過. 

8 ) T=MIME-type(force MIME type) 強制MIME類型 

9) NS (used only if no internal sub-request) 只用于不是內部子請求 

10) NC(no case) 不區分大小寫 

11) QSA(query string append) 追加請求字符串 

12) NE(no URI escaping of output) 不在輸出轉義特殊字符,例如:RewriteRule /foo/(.*) /bar?arg=P1%3d$1 [R,NE] 將能正確的將/foo/zoo轉換成/bar?arg=P1=zoo

13) PT(pass through to next handler) 傳遞給下一個處理,例如:

  1. RewriteRule ^/abc(.*) /def$1 [PT] # 將會交給/def規則處理  
  2. Alias /def /ghi  

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

15) E=VAR:VAL(set environment variable) 設置環境變量

以下直接舉例說明:

例一、在一個虛擬主機里定義的Rewrite規則.功能是把client請求的URL地址前綴不是www.companysz.com和 70.40.213.183都跳轉到主機前綴為 http://www.companysz.com.這樣就避免相同內容的網頁有多個指向的域名,如http://Vevb.com,而不利于SEO.

1 RewriteEngine on 

#打開rewirte功能  

2 RewriteCond %{HTTP_HOST} !^www.aaa.cn [NC] 

#聲明Client請求的URL地址中前綴不是www.kiya.cn,其中 [NC] 的意思是忽略大小寫  

3 RewriteCond %{HTTP_HOST} !^70.40.213.183 [NC] 

#聲明Client請求的URL地址中前綴不是70.40.213.183  

4 RewriteCond %{HTTP_HOST} !^$ 

#聲明Client請求的主機中前綴不為空  

5 RewriteRule ^(.*) http://www.companysz.com/ [L]

#含義是如果Client請求的主機中的前綴符合上述條件,則直接進行跳轉到http://Vevb.com/,[L]意味著立即停止重寫操作,并 不再應用其他重寫規則.這里的.*是指匹配所有URL中不包含換行字符,()括號的功能是把所有的字符做一個標記,以便于后面的應用.就是引用前面里的 (.*)字符.

例二、啟用新域名為www.companysz.com之后.需要將原來的域名ss.Vevb.com, 以及論壇所在地址ss.Vevb.com/bbs/定向到新的域名,以便用戶可以找到,并且使原來的論壇 URL 繼續有效而不出現 404 未找到.比如原來的http://ss.Vevb.com/bbs/tread-60.html, 讓它在新的域名下繼續有效,點擊后轉發到http://bbs.Vevb.com/tread-60.html;而其他網頁,如原先的http: //ss.Vevb.com/purchase不會跳轉到二級域名bbs.Vevb.com/purchase上,而是到 www.companysz.com/purchase.

  1. RewriteEngine On   
  2. RewriteCond %{REQUEST_URI} ^/bbs/   
  3. RewriteRule ^bbs/(.*) http://bbs.Vevb.com/$1 [R=permanent,L]   
  4. RewriteCond %{REQUEST_URI} !^/bbs/   
  5. RewriteRule ^(.*) http://www.companysz.com/$1 [R=permanent,L] 

例三、同時達到下面兩個要求:

1.用http://www.companysz.com/xxx.php 來訪問 http://www.companysz.com/xxx/

2.用http://yyy.Vevb.com 來訪問 http://www.companysz.com/user.php?username=yyy 的功能

  1. RewriteEngine On   
  2. RewriteCond %{HTTP_HOST} ^www.companysz.com   
  3. RewriteCond %{REQUEST_URI} !^user.php$   
  4. RewriteCond %{REQUEST_URI} .php$   
  5. RewriteRule (.*).php$ http://www.companysz.com/$1/ [R]   
  6. RewriteCond %{HTTP_HOST} !^www.companysz.com   
  7. RewriteRule ^(.+) %{HTTP_HOST} [C]   
  8. RewriteRule ^([^.]+).hzhuti.com http://www.companysz.com/user.php?username=$1 

例四、將URL地址 /type.php?typeid=* 跳轉至 /type*.html,URL地址 /type.php?typeid=*&page=* 跳轉至 /type*page*.html

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

相信通過以上四個簡單的例子,我們已經能夠寫出簡單的Apache Rewrite的URL跳轉介紹了apache基礎的rewrit知識,再發些例子給大家看看吧.

  1. RewriteEngine on 
  2. # 把 yourdomain.com 改為你要綁定的域名. 
  3. RewriteCond %{HTTP_HOST} ^(www.)?mq35.com$ 
  4. # 把 subfolder 改為要綁定的目錄. 
  5. RewriteCond %{REQUEST_URI} !^/bbs/ 
  6. # 不要改以下兩行. 
  7. RewriteCond %{REQUEST_FILENAME} !-f 
  8. RewriteCond %{REQUEST_FILENAME} !-d 
  9. # 把 subfolder 改為要綁定的目錄. 
  10. RewriteRule ^(.*)$ /bbs/$1 
  11. # 把 yourdomain.com 改為你要綁定的域名 
  12. # 把 subfolder 改為要綁定的目錄. 
  13. # subfolder/ 后面是首頁文件index.php, index.html...... 
  14. RewriteCond %{HTTP_HOST} ^(www.)?mq35.com$ 
  15. RewriteRule ^(/)?$ bbs/index.php [L] 

上面的整套語句是綁定一個子目錄,如需綁定多個子目錄,你可以重復添加以上的全套語句。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久综合久久综合久久 | 中文字幕激情视频 | 一级成人在线 | 欧美激情猛片xxxⅹ大3 | 欧美一级免费高清 | 色网在线视频 | 亚洲视频黄 | 免费观看黄色一级视频 | 亚洲小视频在线观看,com | 日韩视频在线视频 | 色综合久久久久久久久久久 | 毛片免费观看完整版 | 国产外围在线 | 成人黄视频在线观看 | 亚洲午夜不卡 | 国产成人精品一区二区三区电影 | 91久久国产露脸精品国产护士 | 亚洲成人免费视频在线 | 黄污网站在线观看 | 青青草成人免费视频在线 | 久久久久国产一区二区三区不卡 | 在线成人免费网站 | 女人久久久www免费人成看片 | 久久久资源网 | 日本特级a一片免费观看 | 成人在线精品视频 | 久久影院一区二区三区 | 免费网站看v片在线a | 综合网天天射 | 亚洲午夜一区二区三区 | 久久久一区二区精品 | 国产美女的小嫩bbb图片 | 成人爱爱电影 | 中文字幕国产日韩 | 亚洲性一区 | 黄色片网站免费在线观看 | 午夜爽爽爽男女免费观看hd | 天堂成人国产精品一区 | wwwxxx国产| 香蕉国产片 | 国产精品视频1区 |