apache重寫規(guī)則

前兩天部署一個項目到本機環(huán)境,從nginx轉(zhuǎn)到apache翩瓜,因為不熟悉apache的重寫規(guī)則受扳,給自己挖了很多坑。兔跌】备撸看了很多博客后,終于解決了問題坟桅,總結(jié)如下华望。

什么是url重寫?

url重寫可以把冗長的url地址按我們自定義的規(guī)則來簡化仅乓。比如一個類似?www.test.com赖舟?user_id=123&user_ps=abc?的域名,通過url重寫夸楣,我們直接以?www.test.com/123/abc?的方式來訪問宾抓。這樣是不是簡潔多了?這樣既可以增強seo,同時也可以處理形如訪問url不存在的問題豫喧。

啟動url重寫的步驟如下

1石洗、打開apache/conf目錄下的httpd.conf,找到

#LoadModule rewrite_module modules/mod_rewrite.so

將最前面的#去掉

2紧显、找到

<Directory />?

?AllowOverride NONE? ?

?Require all granted

</Directory>

改成

<Directory />

AllowOverride ALL ?

Require all granted

</Directory>

3讲衫、在項目根目錄下創(chuàng)建 .htaccess 文件,在該文件中輸入(windows下無法直接創(chuàng)建孵班。htaccess文件涉兽,可先新建記事本,再另存為)

<IfModulemod_rewrite.c>

Options Indexes FollowSymlinks

RewriteEngine On ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#啟動重寫引擎

RewriteCond %{REQUEST_FILENAME} !-d ? ? ? ? ? ? ? #判斷請求文件是否為目錄

RewriteCond %{REQUEST_FILENAME} !-f ? ? ? ? ? ? ? #判斷請求文件是否為文件

RewriteRule ^(.*)$ index.php/$1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#重寫規(guī)則篙程,用正則表達式

</IfModule>

以上即為啟用url重寫的步驟枷畏,接下來具體介紹一下.htaccess文件中各字段的意義和屬性。

Options Indexes FollowSymLinks就表示:我訪問www.test.com虱饿,如果文件根目錄里有 index.html(index.php)矿辽,瀏覽器就會顯示 index.html的內(nèi)容,如果沒有 index.html郭厌,瀏覽器就會顯示這文件根目錄的目錄列表袋倔,目錄列表包括文件根目錄下的文件和子目錄。

考慮到安全問題折柠,不想讓別人訪問到目錄文件宾娜,應(yīng)該怎么辦呢?只需要將Indexes字段刪掉即可扇售。再次訪問該域名前塔,如果不存在index.html或者index.php文件嚣艇,則會報403錯誤。

RewriteEngin On表示啟用重寫引擎华弓,將On改為Off即可關(guān)閉重寫引擎食零,方便我們啟動或關(guān)閉重寫引擎,而無需修改大量代碼寂屏。

RewriteCond表示重寫條件贰谣,類似于if條件語句,一般形式為? ? RewriteCond %{XXXXXXX} + 正則匹配條件? ? 迁霎,可以多條RewriteCond對應(yīng)一條RewriteRule

RewriteRule 表示重寫規(guī)則吱抚,一般形式為? RewriteRule 正則匹配條件? XXXXXX ,上文的

RewriteRule ^(.*)$ index.php/$1

表示將任意請求改成index.php/$1,其中$1表示正則表達式中第一個()中的值考廉。

對于AllowOverride All秘豹,表示允許.htaccess覆寫httpd.conf中的設(shè)置,如果想禁止.htaccess起作用 昌粤,將All改成none就可以了

在這里對.htaccess的利弊做一些補充

當(dāng)我們是與其他人共享服務(wù)器的情況下既绕,我們可能無法直接修改服務(wù)器的配置,通過.htaccess可方便我們對服務(wù)器進行修改涮坐,且不會干預(yù)到他人凄贩。但這樣做會導(dǎo)致性能降低,理由如下:

一個.htaccess文件是對當(dāng)前目錄及其子目錄起作用的膊升,也就是說當(dāng)我們訪問一個文件時,服務(wù)器不僅要從檢查當(dāng)前目錄下的.htaccess文件谭企,還要檢查其父目錄的廓译,很有可能還要檢查其祖父級目錄的,無論這些目錄中.htaccess文件是否存在债查,這樣就可能有很多次的訪問是沒有必要的非区,影響了性能。

所以如果可以盹廷,盡可能直接修改httpd.conf文件征绸,具體的語法與.htaccess文件中的語法是一樣的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末俄占,一起剝皮案震驚了整個濱河市管怠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌缸榄,老刑警劉巖渤弛,帶你破解...
    沈念sama閱讀 222,865評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異甚带,居然都是意外死亡她肯,警方通過查閱死者的電腦和手機佳头,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,296評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來晴氨,“玉大人康嘉,你說我怎么就攤上這事∽亚埃” “怎么了亭珍?”我有些...
    開封第一講書人閱讀 169,631評論 0 364
  • 文/不壞的土叔 我叫張陵,是天一觀的道長聚假。 經(jīng)常有香客問我块蚌,道長,這世上最難降的妖魔是什么膘格? 我笑而不...
    開封第一講書人閱讀 60,199評論 1 300
  • 正文 為了忘掉前任峭范,我火速辦了婚禮,結(jié)果婚禮上瘪贱,老公的妹妹穿的比我還像新娘纱控。我一直安慰自己,他們只是感情好菜秦,可當(dāng)我...
    茶點故事閱讀 69,196評論 6 398
  • 文/花漫 我一把揭開白布甜害。 她就那樣靜靜地躺著,像睡著了一般球昨。 火紅的嫁衣襯著肌膚如雪尔店。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,793評論 1 314
  • 那天主慰,我揣著相機與錄音嚣州,去河邊找鬼。 笑死共螺,一個胖子當(dāng)著我的面吹牛该肴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播藐不,決...
    沈念sama閱讀 41,221評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼匀哄,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了雏蛮?” 一聲冷哼從身側(cè)響起涎嚼,我...
    開封第一講書人閱讀 40,174評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎挑秉,沒想到半個月后铸抑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,699評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡衷模,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,770評論 3 343
  • 正文 我和宋清朗相戀三年鹊汛,在試婚紗的時候發(fā)現(xiàn)自己被綠了蒲赂。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,918評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡刁憋,死狀恐怖滥嘴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情至耻,我是刑警寧澤若皱,帶...
    沈念sama閱讀 36,573評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站尘颓,受9級特大地震影響走触,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜疤苹,卻給世界環(huán)境...
    茶點故事閱讀 42,255評論 3 336
  • 文/蒙蒙 一互广、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧卧土,春花似錦惫皱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,749評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至颤霎,卻和暖如春媳谁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背友酱。 一陣腳步聲響...
    開封第一講書人閱讀 33,862評論 1 274
  • 我被黑心中介騙來泰國打工晴音, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人粹污。 一個月前我還...
    沈念sama閱讀 49,364評論 3 379
  • 正文 我出身青樓段多,卻偏偏與公主長得像首量,于是被迫代替她去往敵國和親壮吩。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,926評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 此文章轉(zhuǎn)載~ Apache偽靜態(tài)(Rewrite).htaccess文件詳解 Htaccess(超文本訪問)是一個...
    bornfreekiss閱讀 4,131評論 0 6
  • 重寫規(guī)則 【重寫規(guī)則的作用范圍】 可以使用在Apache主配置文件httpd.conf中 可以使用在httpd.c...
    桖辶殤閱讀 1,673評論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理加缘,服務(wù)發(fā)現(xiàn)鸭叙,斷路器,智...
    卡卡羅2017閱讀 134,719評論 18 139
  • 一場電影就像一次人生旅途拣宏,每一場電影沈贝,每一次邂逅。 這是我曾經(jīng)整理過我看過評分較高的電影勋乾,每個人對于電影都有不...
    Alethea閱讀 137評論 0 0
  • 今天打了幾把排位罩引,又黑了。 教練張掐指一算枝笨,發(fā)現(xiàn)事情并不簡單袁铐。 還好及時發(fā)現(xiàn)問題之所在,特來傳授給大家横浑。 ↓ ↓ ...
    大貝吔屎啦閱讀 169評論 4 1