日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
Apache.htaccess文件的8個(gè)用法

【譯文精選】.htaccess文件允許我們針對(duì)特定目錄及其子目錄修改一些服務(wù)器設(shè)置,雖然這種類(lèi)型的配置最好是在服務(wù)器本身配置文件的小節(jié)部分處理,但有時(shí)我們根本沒(méi)有權(quán)限訪問(wèn)這個(gè)配置文件,尤其是當(dāng)我們?cè)谝慌_(tái)共享的托管主機(jī)上,大多數(shù)共享主機(jī)服務(wù)商只允許我們以.htaccess方式來(lái)改變服務(wù)器的行為。

創(chuàng)新互聯(lián)建站專(zhuān)業(yè)為企業(yè)提供清徐網(wǎng)站建設(shè)、清徐做網(wǎng)站、清徐網(wǎng)站設(shè)計(jì)、清徐網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、清徐企業(yè)網(wǎng)站模板建站服務(wù),十載清徐做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

.htaccess文件是一個(gè)簡(jiǎn)單的文本文件,注意文件名前的“.”很重要,我們可以用自己喜歡的文本編輯器編輯它,然后上傳到我們的服務(wù)器,將其放在我們想要改變服務(wù)器默認(rèn)行為的目錄下。

通過(guò).htaccess文件我們可以做的事包括:為文件夾設(shè)置密碼保護(hù),創(chuàng)建重定向,調(diào)整PHP設(shè)置,控制文件緩存,控制服務(wù)器如何處理擴(kuò)展名(例如,我們可以讓一個(gè)HTML文件通過(guò)PHP模塊運(yùn)行,而不是簡(jiǎn)單的通過(guò)Web服務(wù)器解析它),以及改變文件返回給訪問(wèn)者的方式。下面我開(kāi)始介紹這個(gè)文件最常見(jiàn)的8種用法。

1、禁止對(duì)無(wú)索引文件的目錄進(jìn)行文件列表展示

默認(rèn)情況下,當(dāng)我們?cè)L問(wèn)網(wǎng)站的某個(gè)無(wú)索引文件(如index.html,index.htm或index.php)目錄時(shí),服務(wù)器會(huì)顯示該目錄的文件和子目錄列表,這是非常危險(xiǎn)的,因?yàn)樗赡鼙┞毒W(wǎng)站的內(nèi)部結(jié)構(gòu),也許不小心就將含有敏感信息的文件公之于眾了,為了禁止這種行為,我們可以在網(wǎng)站根目錄創(chuàng)建一個(gè).htaccess文件,內(nèi)容如下:
Options –Indexes

2、創(chuàng)建重定向或改變丟失文件的響應(yīng)狀態(tài)

當(dāng)我們從服務(wù)器請(qǐng)求一個(gè)找不到的文件時(shí),默認(rèn)情況下服務(wù)器會(huì)返回404狀態(tài)碼,瀏覽器和訪問(wèn)者便知道URL指定的位置找不到該文件,但這是一個(gè)通用的消息,沒(méi)有太大的實(shí)際意義,我們希望告訴瀏覽器和訪問(wèn)者更多有用的信息,如:

◆文件被永久移走

狀態(tài)碼301告訴瀏覽器文件已經(jīng)被永久移動(dòng)到另一個(gè)位置,這樣我們就可以通過(guò).htaccess文件實(shí)現(xiàn)重定向了,例如,使用下面的代碼可以將瀏覽器重定向到新的地址:

Redirect 301 /path/from/htaccess/file.html http://www.domain.tld/path/file.html

◆文件被暫時(shí)移走

狀態(tài)碼307告訴瀏覽器文件已經(jīng)被移走,但這是暫時(shí)的,瀏覽器接收到301狀態(tài)碼時(shí)就會(huì)訪問(wèn)新地址,但不用改變文件的鏈接,也不會(huì)為新地址創(chuàng)建緩存(除非它受Cache-Control或過(guò)期頭信息字段控制),瀏覽器每次都會(huì)繼續(xù)請(qǐng)求源地址。

Redirect 307 /path/from/htaccess/file.html http://www.domain.tld/path/file.html

◆文件不存在

狀態(tài)碼410告訴瀏覽器,它請(qǐng)求的文件已經(jīng)從服務(wù)器上永久刪除,和404不一樣,404僅僅表示文件不在這里的意思,而410表示文件不僅不在這里,在其它地方也沒(méi)有。

 
 
 
  1. Redirect 410 /path/from/htaccess/file.html

3、創(chuàng)建自定義錯(cuò)誤響應(yīng)頁(yè)面

如果不向?yàn)g覽器返回狀態(tài)碼,我們可以創(chuàng)建自己的錯(cuò)誤頁(yè)面,我們可以創(chuàng)建一個(gè)自定義錯(cuò)誤頁(yè)面,例如,對(duì)于401狀態(tài)碼我們可以創(chuàng)建一個(gè)未經(jīng)授權(quán)的錯(cuò)誤頁(yè)面,對(duì)于404狀態(tài)碼,我們可以創(chuàng)建一個(gè)未找到錯(cuò)誤頁(yè)面,我們需要做的就是修改.htaccess文件,添加下面兩行代碼:

 
 
 
  1. ErrorDocument 401 /path/to/401.html
  2. ErrorDocument 404 /path/to/404.html

4、給不同類(lèi)型的文件設(shè)置緩存過(guò)期時(shí)間

這個(gè)設(shè)置告訴瀏覽器保持文件的緩存多長(zhǎng)時(shí)間,在未過(guò)期前,訪問(wèn)該文件時(shí)就不用向服務(wù)器發(fā)起請(qǐng)求了,服務(wù)器向?yàn)g覽器返回文件時(shí),會(huì)附加上一個(gè)Expires頭信息。
我們可以使用ExpiresDefault指令后面跟一個(gè)基礎(chǔ)時(shí)間+時(shí)間長(zhǎng)度設(shè)置文件的默認(rèn)過(guò)期時(shí)間,使用ExpiresByType指令后面跟一個(gè)文件類(lèi)型+基礎(chǔ)時(shí)間+時(shí)間長(zhǎng)度指定特定文件類(lèi)型的過(guò)期時(shí)間。

基礎(chǔ)時(shí)間可以是訪問(wèn)時(shí)間,它從瀏覽器請(qǐng)求該文件時(shí)開(kāi)始計(jì)數(shù),也可以是修改時(shí)間,它從文件最后一次修改時(shí)間開(kāi)始計(jì)數(shù),注意,如果你使用修改時(shí)間,返回給瀏覽器的動(dòng)態(tài)內(nèi)容不會(huì)加上Expires頭,如動(dòng)態(tài)生成的圖像,因?yàn)榉且汛嬖诘奈募淮嬖谛薷臅r(shí)間。

過(guò)期時(shí)間要和基礎(chǔ)時(shí)間結(jié)合使用,通過(guò)添加一個(gè)plus和一個(gè)時(shí)間,這個(gè)時(shí)間可以給出年、月、日,時(shí)、分、秒,如果我們只使用一個(gè)單位,可以使用單數(shù)表示,例如,我們可以指定它為“1分鐘”或“10分鐘”。

在下面的例子中,我使用ExpiresDefault指令將所有文件的默認(rèn)過(guò)期時(shí)間設(shè)為1天,然后使用ExpiresByType指令為不同文件類(lèi)型指定過(guò)期時(shí)間。

 
 
 
  1.     ExpiresActive On
  2.     ExpiresDefault "access plus 1 day"
  3.     ExpiresByType image/png "access plus 30 days"
  4.     ExpiresByType image/jpeg "access plus 4 weeks"
  5.     ExpiresByType image/gif "access plus 1 month"
  6.     ExpiresByType image/x-icon "access plus 1 year"
  7.     ExpiresByType application/javascript "modification plus 2 weeks"
  8.     ExpiresByType text/css "modification plus 14 days"

5、文件發(fā)送到瀏覽器之前先壓縮

任何現(xiàn)代瀏覽器都能處理服務(wù)器壓縮過(guò)的文件,這樣做也是為了減少頁(yè)面的載入時(shí)間,如果服務(wù)器默認(rèn)沒(méi)有開(kāi)啟文件壓縮功能,我們可以通過(guò).htaccess文件來(lái)開(kāi)啟。

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/x-javascript application/rss+xml application/atom_xml text/javascript

注意,我這里沒(méi)有為圖像文件開(kāi)啟壓縮,因?yàn)槲覀兊膱D像文件已經(jīng)通過(guò)其它壓縮技術(shù)處理好了。

6、給文件夾設(shè)置密碼保護(hù)

為了保護(hù)含有敏感數(shù)據(jù)的特殊文件夾,我們需要?jiǎng)?chuàng)建一個(gè)包含有效的用戶(hù)名和密碼的文件,然后在.htaccess文件中添加一些設(shè)置,但用戶(hù)名和密碼仍然是以明文形式發(fā)送到服務(wù)器的,因此很容易受到中間人攻擊,除非我們使用SSL。

首先,我們創(chuàng)建一個(gè)名為.htpasswd的文件,將權(quán)限修改為600(只有文件所有者有讀寫(xiě)權(quán)),這樣其他用戶(hù)才不能訪問(wèn)。

 
 
 
  1. touch .htpasswd
  2. chmod 600 .htpasswd

創(chuàng)建好文件后,我們需要向這個(gè)文件注入用戶(hù)名和密碼,如果你使用Linux或Unix類(lèi)操作系統(tǒng),使用htpasswd命令就可以辦到,如果你能通過(guò)SSH登陸到你的服務(wù)器,那么你可以使用htpasswd管理.htpasswd文件中的用戶(hù)名和密碼,如果不行,還有很多在線工具(如http://www.htaccesstools.com/htpasswd-generator/)可以幫助你生成.htpasswd文件中使用的密碼。

使用下面的命令可以向這個(gè)文件中注入用戶(hù)名和密碼:

 
 
 
  1. htpasswd [passwd file] [user]

如:

 
 
 
  1. htpasswd .htpasswd juan

它會(huì)提示你輸入密碼,然后他會(huì)加密密碼并保存到.htpasswd文件中。如果Apache是安裝在除Windows,Netware和TPF(一種IBM大型機(jī))外的任何系統(tǒng)上,默認(rèn)情況下下,它會(huì)調(diào)用crypt()函數(shù)加密密碼。使用這個(gè)命令我們可以創(chuàng)建多個(gè)用戶(hù),并可以修改已有用戶(hù)的密碼,你可以使用-n參數(shù)獲得加密后的密碼字符串值。

 
 
 
  1. htpasswd -n juan

它會(huì)返回類(lèi)似下面這樣的字符串:

 
 
 
  1. juan:n94xSo6uSwhCY

然后用文本編輯器打開(kāi).htpasswd文件,將上面返回的內(nèi)容粘貼到文件中,每行代表一個(gè)用戶(hù)。

還可以使用-m參數(shù)調(diào)用md5加密方法加密密碼,在Windows,Netware和TPF下,默認(rèn)就使用的是md5加密,也可以適應(yīng)-s參數(shù)調(diào)用SHA加密,使用-d參數(shù)告訴命令調(diào)用crypt函數(shù),在大多數(shù)系統(tǒng)上,這也是默認(rèn)的行為。

如果文件不存在,則添加-c參數(shù),它會(huì)創(chuàng)建文件,如果文件已經(jīng)存在,添加這個(gè)參數(shù)后就會(huì)重寫(xiě)整個(gè)文件,只留下新創(chuàng)建的用戶(hù),如果想刪除.htpasswd文件中的某個(gè)用戶(hù),使用-D參數(shù)。

最后,我們可以和其它命令結(jié)合使用,如果加入?yún)?shù)-b,我們可以直接在命令中加上密碼,但這樣做是不安全的。

htpasswd .htpasswd juan randompassword

創(chuàng)建好用戶(hù)后,他們就可以訪問(wèn)這個(gè)目錄及其子目錄了,但我們還需要在要保護(hù)的文件夾下添加一個(gè).htaccess文件,內(nèi)容如下:

 
 
 
  1. AuthName "Please authenticate in order to access the contents of this folder"
  2. AuthType Basic
  3. AuthUserFile /full/path/to/.htpasswd
  4. Require valid-user

這里的AuthName指的是要求你輸入用戶(hù)名和密碼時(shí)的提示信息,AuthType表示需要的認(rèn)證類(lèi)型,在這個(gè)例子中,我只想彈出一個(gè)對(duì)話框,要求輸入用戶(hù)名和密碼,因此設(shè)置為Basic,AuthUserFile指的是保存用戶(hù)名和密碼的文件位置,在這個(gè)例子中指的是.htpasswd文件,位置和我們的.htaccess文件相同,Require valid-user指定只有.htpasswd文件包含的合法用戶(hù)才能訪問(wèn)。

7、將HTML文件當(dāng)PHP文件使

為了將html擴(kuò)展名文件當(dāng)作php文件使用,需要在.htaccess文件中添加下面的內(nèi)容:

 
 
 
  1. AddType application/x-httpd-php .htm
  2. AddType application/x-httpd-php .html

這樣服務(wù)器就會(huì)把HTML文件作為PHP文件進(jìn)行解析。

8、修改PHP設(shè)置

如果我們不能訪問(wèn)php.ini文件,有些主機(jī)服務(wù)商允許我們修改.htaccess文件來(lái)改變一些PHP設(shè)置,例如,我想生成所上傳圖片的縮略圖,有些主機(jī)服務(wù)商默認(rèn)將PHP的內(nèi)存限制為2MB,顯然要生成縮略圖是不夠用的,因此我要將這個(gè)限制改大一點(diǎn),如增加到16MB,如果要移除內(nèi)存限制,可以將其設(shè)為-1。
為了在.htaccess文件中修改PHP設(shè)置,服務(wù)器必須啟用了AllowOverride Options(或AllowOverride all)選項(xiàng),如果那樣,我們只需要在.htaccess文件中添加下面一行命令即可:

 
 
 
  1. php_value memory_limit 16M

【閱讀推薦】

  1. Google推出Apache加速模塊 速度提高50%!
  2. Web服務(wù)器市場(chǎng):Apache坐穩(wěn)領(lǐng)頭羊 Nginx持續(xù)走高
  3. Web服務(wù)器父與子 Apache和Tomcat區(qū)別

原文:My most used htaccess settings
鏈接:http://www.jveweb.net/en/archives/2010/11/my-most-used-htaccess-settings.html


分享題目:Apache.htaccess文件的8個(gè)用法
轉(zhuǎn)載來(lái)于:http://m.5511xx.com/article/cceogcp.html