.htaccess是什麽?.htaccess幾個簡單(dān)應用
.htaccess是什麽?
.htaccess叫分布式配置(zhì)文件,它提供了針對目(mù)錄改變配置的方法(fǎ)——在一個特定的文檔(dàng)目錄中放置一(yī)個包含一個或(huò)多(duō)個指令的(de)文件(jiàn), 以作(zuò)用於此目錄及其所有子目錄。並(bìng)且子目錄中的指令會覆蓋更高級目錄或(huò)者主(zhǔ)服務器配置文件中的指令。一(yī)般來(lái)說,如果你的虛擬主機使(shǐ)用的是Unix或Linux係統,或者任何版本的(de)Apache網絡(luò)服務(wù)器,從理論上講都是支持.htaccess的。
如何建立(lì).htaccess?
在我們使用(yòng)的windows(瘟到死(sǐ))主機上創建.htaccess文件是很困難的。寫文件倒很容易,你(nǐ)隻需要在文字(zì)編(biān)緝器(例如(rú):記事本(běn))裏寫下適當的(de)代碼(mǎ)。困難的是文(wén)件(jiàn)的保存,因為.htaccess是一個古怪的文件名(míng),其(qí)實(shí)它並沒有文件名,隻有一個由8個字母(htaccess)組成的擴展(zhǎn)名,而在windows係統中這(zhè)是(shì)無(wú)法(fǎ)接受的文件名。因此,這裏(lǐ)有3個方法可以實現。
方法一:保存文件的時候將文(wén)檔保存成名為(wéi)“.htaccess” (包括引號)或者htaccess.txt亦或(huò)者1.htaccess。再將其(qí)上傳到服(fú)務器上,之後(hòu)直接使用FTP軟件來重(chóng)命名(míng)。
方法二:保存(cún)文件的(de)時候選擇文件—>另(lìng)存(cún)為,保(bǎo)存類型(xíng)選所(suǒ)有文(wén)件,然後文件(jiàn)名輸(shū)入.htaccess ,這樣(yàng)就(jiù)OK啦o(∩_∩)o…。
方法三:直接在你的(de)Unix或Linux虛擬主機上建(jiàn)立。
.htaccess是什麽?.htaccess是在Apache HTTP Server這(zhè)款服務器架設軟件下的一個對於(yú)係統目錄進行各種權(quán)限規則設置的一個文件,存在於Linux操作(zuò)係(xì)統中。比(bǐ)較常見的(de)是定義默認首頁名稱(chēng),404頁麵,301轉向,等等,還有更多的功能比如偽靜態,限製圖片(piàn)外鏈,限製下載,密碼(mǎ)保護,去除頁(yè)麵(miàn)廣告(gào)等等,還有非常多的(de)功能(néng)就不(bú)一一列舉。
其實(shí)這些功(gōng)能(néng)大多可以在cPanel控(kòng)製(zhì)麵(miàn)板來進行設置的(相當(dāng)於是.htaccess的圖形(xíng)化界麵(miàn))。但對(duì)於(yú)高(gāo)手來講,cPanel對於htaccess提供的功能還是太少了點,手工(gōng)編輯才(cái)是王道。相(xiàng)對(duì)於國內的虛擬主機,絕大多數是沒有這個(gè)功(gōng)能的
目錄規則
一般我們將.htaccess文件放置(zhì)在網站的根目錄,控(kòng)製所在目(mù)錄及所有(yǒu)子目錄,而如果(guǒ)放置在子(zǐ)目(mù)錄中,會(huì)受(shòu)上級(jí)目錄中.htaccess文件影響,是不起任(rèn)何作用的。
舉(jǔ)幾個(gè)例(lì)子,以(yǐ)下(xià)部(bù)分引用維基百科。
自定義錯(cuò)誤頁麵(直接拷貝即可(kě))
ErrorDocument 404 /error-pages/not-found.html
ErrorDocument 503 /error-pages/service-unavailable.html
————————————————————————-
IP禁止(zhǐ)
Order allow,deny
Deny from 123.45.67.8
Deny from 123.123.7
Allow from all
上麵(miàn)能禁(jìn)止IP地址在123.45.67.8以及IP地址開頭為123.123.7的任何人。例如123.123.74.42 就不能得到訪問。
————————————————————————-
變更默認首頁
DirectoryIndex homepage.html
————————————————————————-
去除頁(yè)麵廣告(不一定適(shì)用所有免費空(kōng)間)
LayoutIgnoreURI *.php
LayoutIgnoreURI *.cgi
LayoutIgnoreURI *.htm
LayoutIgnoreURI *.html
LayoutIgnoreURI *.txt
————————————————————————-
頁(yè)麵跳轉(zhuǎn)
Redirect page1.html page2.html
如果某(mǒu)人訪問 http://www.example.com/page1.html,他將被跳轉到(帶有HTTP狀(zhuàng)態代碼302)的http://www.example.com/page2.html
————————————————————————-
服務器內置SSI
AddType text/html .shtml
AddHandler server-parsed .shtml
Options Indexes FollowSymLinks Includes
————————————————————————-
防止圖片(piàn)熱鏈
後麵的 .htaccess規(guī)則使用了mod rewrite。
特別域名(míng)
RewriteEngine on
RewriteCond %{HTTP_REFERER} ^http://([^/]+\.)?baddomain1\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://([^/]+\.)?baddomain2\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://([^/]+\.)?baddomain3\.com [NC]
RewriteRule \.(gif|jpg)$ http://www.example.com/hotlink.gif [R,L]
非特別(bié)域名
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?example.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ http://www.example.com/hotlink.gif [R,L]
除非 example.com有(yǒu)這(zhè)個圖片,瀏覽器(qì)才(cái)能看到hotlink.gif.
注意:Hotlink熱鏈保護使(shǐ)用 .htaccess 依(yī)賴客戶端(duān)在(zài)http GET請求中發(fā)送正確的”提交”值。像嚐試使用Windows Media Player發送(sòng)空(kōng)白的(de)提交(jiāo)到.htaccess 來保(bǎo)護電影檔案(àn)是無效的。
禁止.htaccess文(wén)件(jiàn)被查(chá)看(kàn)
在.htaccess文件中加(jiā)入如下代(dài)碼就可(kě)以禁止別人(rén)訪問(wèn)你的.htaccess文件(jiàn):
<Files .htaccess>
order allow,deny
deny from all
</Files>
這個網上的大部分版本都有錯誤,大部分版本丟掉了<Files .htaccess> ,結果導致(zhì)所有文件都被禁止訪問(wèn)。如果用了錯誤的規則,所有(yǒu)內容(róng)都將無法訪(fǎng)問。
同樣道(dào)理,如(rú)果要禁止(zhǐ)其(qí)他文(wén)件(jiàn)的訪問,用其(qí)他文(wén)件名替換就可以了。
關(guān)鍵(jiàn)詞(cí):.htaccess
閱(yuè)讀本文(wén)後(hòu)您有什麽感想? 已(yǐ)有 人給出評價!
- 1
- 1
- 1
- 1
- 1
- 1