久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Apache中偽靜態(tài)Rewrite的使用方法和URL重寫(xiě)規(guī)則表達(dá)式講解

瀏覽:174日期:2023-03-07 14:40:42
目錄
  • 一、安裝rewrite模塊
  • 二、配置文件httpd.conf中啟用Rewrite
  • 三、在服務(wù)器中找到配置文件vhosts.conf,啟用.htaccess
  • 四、在要啟用偽靜態(tài)的項(xiàng)目根目錄下建立 .htaccess 文件
  • 五、重啟Apache服務(wù)器,就OK了
  • 六、參數(shù)補(bǔ)充說(shuō)明

apache中的mod_rewrite模塊提供了一個(gè)基于正則表達(dá)式分析器的重寫(xiě)引擎來(lái)實(shí)時(shí)重寫(xiě)URL請(qǐng)求,主要的功能就是實(shí)現(xiàn)URL的跳轉(zhuǎn),它的正則表達(dá)式是基于Perl語(yǔ)言??苫诜?wù)器級(jí)的(httpd.conf)和目錄級(jí)的(.htaccess)兩種方式,允許通過(guò)它來(lái)改變Apache Web服務(wù)器的配置。它支持每個(gè)完整規(guī)則可以擁有不限數(shù)量的子規(guī)則以及附加條件規(guī)則的靈活而且強(qiáng)大的URL操作機(jī)制。此URL操作可以依賴(lài)于各種測(cè)試,比如服務(wù)器變量、環(huán)境變量、HTTP頭、時(shí)間標(biāo)記,甚至各種格式的用于匹配URL組成部分的查找數(shù)據(jù)庫(kù)。

而配置偽靜態(tài)的方法,需要根據(jù)web服務(wù)器的不同來(lái)做不同的配置,一般常用的有Apache服務(wù)器和Nginx服務(wù)器,本篇只介紹在Apache服務(wù)器上開(kāi)啟和通過(guò).htaccess文件來(lái)配置偽靜態(tài)的方法。

一、安裝rewrite模塊

如果要想用到rewrite模塊,必須確保在已安裝或加載rewrite模塊。一般在編譯apache的時(shí)候就安裝了rewrite模塊。

二、配置文件httpd.conf中啟用Rewrite

打開(kāi)Apache配置文件httpd.conf,找到代碼:

#LoadModule rewrite_module modules/mod_rewrite.so

把前面#去掉。沒(méi)有則添加,但必須獨(dú)占一行,使apache支持 mod_rewrite 模塊。

三、在服務(wù)器中找到配置文件vhosts.conf,啟用.htaccess

打開(kāi)虛擬機(jī)配置文件vhosts.conf,找到代碼:

AllowOverride None 修改為: AllowOverride All

使Apache支持 .htaccess 文件

四、在要啟用偽靜態(tài)的項(xiàng)目根目錄下建立 .htaccess 文件

在.htaccess 文件中輸入內(nèi)容,示例如下

< IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
#RewriteRule RewriteRule index.html$ index.php
#RewriteRule ^(.*?).html$ index.php?$1.html [QSA,PT,L]
#RewriteRule ^/index([0-9]*).html$ /index.php?id=$1
#更多偽靜態(tài)規(guī)則
< /IfModule>

// RewriteEngine on 為 啟動(dòng)rewrite引擎

// RewriteRule 部分為自己的偽靜態(tài)規(guī)則

五、重啟Apache服務(wù)器,就OK了

六、參數(shù)補(bǔ)充說(shuō)明

1、RewriteEngine 為重寫(xiě)引擎開(kāi)關(guān),on為開(kāi)啟,off為關(guān)閉。

2、RewriteRule 是路由轉(zhuǎn)向規(guī)則,之前路徑為瀏覽器中要輸入路徑,這里可以用正則表達(dá)式表達(dá)。+空格 后路徑為后臺(tái)實(shí)際轉(zhuǎn)向路徑。

3、轉(zhuǎn)向后臺(tái)實(shí)際路徑時(shí)可以傳參數(shù),$1 代表瀏覽器路徑中輸入的第一個(gè)正則表達(dá)式的值,以此類(lèi)推,$2代表第二個(gè)正則表達(dá)式的值。

4、RewriteRule 路由轉(zhuǎn)向規(guī)則里正則表達(dá)式用括號(hào) () 括起來(lái)。

5、在RewriteRule寫(xiě)法中,^表示語(yǔ)句開(kāi)始,$ 表示語(yǔ)句的結(jié)束,L 表明當(dāng)前規(guī)則是最后一條規(guī)則,停止分析以后重寫(xiě),NC表示不區(qū)分大小寫(xiě),QSA表示追加請(qǐng)求的字符串。

RewriteRule規(guī)則表達(dá)式的說(shuō)明:
. 匹配任何單字符
[chars] 匹配字符串:chars
[^chars] 不匹配字符串:chars
text1|text2 可選擇的字符串:text1或text2
? 匹配0到1個(gè)字符
* 匹配0到多個(gè)字符
+ 匹配1到多個(gè)字符
^ 字符串開(kāi)始標(biāo)志
$ 字符串結(jié)束標(biāo)志
\n 轉(zhuǎn)義符標(biāo)志

6、補(bǔ)充Apache mod_rewrite規(guī)則重寫(xiě)的標(biāo)志說(shuō)明:

1) R[=code](force redirect) 強(qiáng)制外部重定向
強(qiáng)制在替代字符串加上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) 強(qiáng)制URL為GONE,返回410HTTP狀態(tài)碼。
4) P(force proxy) 強(qiáng)制使用代理轉(zhuǎn)發(fā)。
5) L(last rule) 表明當(dāng)前規(guī)則是最后一條規(guī)則,停止分析以后規(guī)則的重寫(xiě)。
6) N(next round) 重新從第一條規(guī)則開(kāi)始運(yùn)行重寫(xiě)過(guò)程。
7) C(chained with next rule) 與下一條規(guī)則關(guān)聯(lián)
如果規(guī)則匹配則正常處理,該標(biāo)志無(wú)效,如果不匹配,那么下面所有關(guān)聯(lián)的規(guī)則都跳過(guò)。
8) T=MIME-type(force MIME type) 強(qiáng)制MIME類(lèi)型
9) NS (used only if no internal sub-request) 只用于不是內(nèi)部子請(qǐng)求
10) NC(no case) 不區(qū)分大小寫(xiě)
11) QSA(query string append) 追加請(qǐng)求字符串
12) NE(no URI escaping of output) 不在輸出轉(zhuǎn)義特殊字符

到此這篇關(guān)于Apache中偽靜態(tài)Rewrite的使用方法和URL重寫(xiě)規(guī)則表達(dá)式講解的文章就介紹到這了,更多相關(guān)∪rL重寫(xiě)偽靜態(tài)Rewrite內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

標(biāo)簽: Linux Apache
相關(guān)文章:
主站蜘蛛池模板: 东至县| 水城县| 巴青县| 武汉市| 安泽县| 安国市| 上林县| 乌拉特中旗| 靖西县| 祁连县| 阳泉市| 竹北市| 安远县| 兰考县| 大新县| 靖安县| 特克斯县| 庆阳市| 金乡县| 北票市| 郁南县| 泰来县| 云浮市| 五河县| 衡阳县| 河东区| 滕州市| 罗江县| 绿春县| 玉田县| 讷河市| 孟村| 嘉义市| 门头沟区| 辛集市| 山西省| 安西县| 临高县| 汾阳市| 康定县| 高唐县|