久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

Htaccess

來自站長百科
跳轉(zhuǎn)至: 導(dǎo)航、? 搜索

.htaccess文件提供了針對每個目錄改變配置的方法。

.htaccess是什么[ ]

概述來說,htaccess文件是Apache服務(wù)器中的一個配置文件,它負責相關(guān)目錄下的網(wǎng)頁配置。

通過htaccess文件,可以幫我們實現(xiàn):網(wǎng)頁301重定向、自定義404錯誤頁面、改變文件擴展名、允許/阻止特定的用戶或者目錄的訪問、禁止目錄列表、配置默認文檔等功能。

UnixLinux系統(tǒng)或者是任何版本的Apache Web服務(wù)器都是支持.htaccess的,但是有的主機服務(wù)商可能不允許你自定義自己的.htaccess文件。

國內(nèi)的大多數(shù)虛擬主機就沒有這個功能。我所知道的提供這個功能的有康盛世紀(就是Discuz的論壇服務(wù)商)。

籠統(tǒng)地說,.htaccess可以幫我們實現(xiàn)包括:文件夾密碼保護、用戶自動重定向、自定義錯誤頁面、改變你的文件擴展名、封禁特定IP地址的用戶、只允許特定IP地址的用戶、禁止目錄列表,以及使用其他文件作為index文件等一些功能。

啟用.htaccess[ ]

啟用.htaccess,需要修改httpd.conf,啟用AllowOverride,并可以用AllowOverride限制特定命令的使用。如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令來改變。例如,需要使用.config ,則可以在服務(wù)器配置文件中按以下方法配置:AccessFileName .config 。

如何讓自己的本地Apache服務(wù)器支持".htaccess"呢?其實只要簡單修改一下apache的httpd.conf設(shè)置就可以讓APACHE支持.htaccess了。打開httpd.conf文件(在那里? APACHE目錄的CONF目錄里面),用文本編輯器打開后,查找

<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>

改為

<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>

就可以了

如何建立.htaccess文件[ ]

.htaccess就是一個普通的文本文件,這樣的文件在windows操作系統(tǒng)中無法建立,可以先建立一個htaccess.txt文件,上傳到服務(wù)器以后再修改名車即可。

.htaccess使用實例[ ]

.htaccess使用實例收集整理.htaccess的具體應(yīng)用,供大家參考和快速使用。


使用.htaccess文件的場合[ ]

一般情況下,不應(yīng)該使用.htaccess文件,除非你對主配置文件沒有訪問權(quán)限。有一種很常見的誤解,認為用戶認證只能通過.htaccess文件實現(xiàn),其實并不是這樣,把用戶認證寫在主配置文件中是完全可行的,而且是一種很好的方法。

.htaccess文件應(yīng)該被用在內(nèi)容提供者需要針對特定目錄改變服務(wù)器的配置而又沒有root權(quán)限的情況下。如果服務(wù)器管理員不愿意頻繁修改配置,則可以允許用戶通過.htaccess文件自己修改配置,尤其是ISP在同一個機器上運行了多個用戶站點,而又希望用戶可以自己改變配置的情況下。

雖然如此,一般都應(yīng)該盡可能地避免使用.htaccess文件。任何希望放在.htaccess文件中的配置,都可以放在主配置文件的<Directory>段中,而且更高效。

避免使用.htaccess文件有兩個主要原因。

首先是性能。如果AllowOverride啟用了.htaccess文件,則Apache需要在每個目錄中查找.htaccess文件,因此,無論是否真正用到,啟用.htaccess都會導(dǎo)致性能的下降。另外,對每一個請求,都需要讀取一次.htaccess文件。

還有,Apache必須在所有上級的目錄中查找.htaccess文件,以使所有有效的指令都起作用(參見指令的生效),所以,如果請求/www/htdocs/example中的頁面,Apache必須查找以下文件:

/.htaccess
/www/.htaccess
/www/htdocs/.htaccess
/www/htdocs/example/.htaccess

總共要訪問4個額外的文件,即使這些文件都不存在。(注意,這可能僅僅由于允許根目錄"/"使用.htaccess ,雖然這種情況并不多。)

其次是安全。這樣會允許用戶自己修改服務(wù)器的配置,這可能會導(dǎo)致某些意想不到的修改,所以請認真考慮是否應(yīng)當給予用戶這樣的特權(quán)。但是,如果給予用戶較少的特權(quán)而不能滿足其需要,則會帶來額外的技術(shù)支持請求,所以,必須明確地告訴用戶已經(jīng)給予他們的權(quán)限,說明AllowOverride設(shè)置的值,并引導(dǎo)他們參閱相應(yīng)的說明,以免日后生出許多麻煩。

注意,在/www/htdocs/example目錄下的.htaccess文件中放置指令,與在主配置文件中<Directory /www/htdocs/example>段中放置相同指令,是完全等效的。

/www/htdocs/example目錄下的.htaccess文件: /www/htdocs/example目錄下的.htaccess文件的內(nèi)容:

AddType text/example .exm httpd.conf文件中摘錄的內(nèi)容:

<Directory /www/htdocs/example>
AddType text/example .exm
</Directory>

但是,把配置放在主配置文件中更加高效,因為只需要在Apache啟動時讀取一次,而不是在每次文件被請求時都讀取。

將AllowOverride設(shè)置為none可以完全禁止使用.htaccess文件:

AllowOverride None 

虛擬主機環(huán)境中,因為管理員不能讓所有用戶修改服務(wù)器配置文件,所以通過.htaccess修改配置就是必要的。用戶經(jīng)常會用.htaccess文件來設(shè)置Rewrite 目錄密碼保護 默認頁面或者是覆蓋服務(wù)器的其他設(shè)置

相關(guān)條目[ ]

Rewrite Apache 偽靜態(tài) 防盜鏈


參考資料:

  1. Apache 2.2 中文版參考手冊