WIKI使用導(dǎo)航
站長(zhǎng)百科導(dǎo)航
站長(zhǎng)專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機(jī)
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計(jì)算
- 微博營(yíng)銷
- 虛擬主機(jī)管理系統(tǒng)
- 開(kāi)放平臺(tái)
- WIKI程序與應(yīng)用
- 美國(guó)十大主機(jī)
Htaccess:修訂間差異
無(wú)編輯摘要 |
無(wú)編輯摘要 ? |
||
第5行: | 第5行: | ||
概述來(lái)說(shuō),htaccess文件是[[Apache]]服務(wù)器中的一個(gè)配置文件,它負(fù)責(zé)相關(guān)目錄下的網(wǎng)頁(yè)配置。 | 概述來(lái)說(shuō),htaccess文件是[[Apache]]服務(wù)器中的一個(gè)配置文件,它負(fù)責(zé)相關(guān)目錄下的網(wǎng)頁(yè)配置。 | ||
通過(guò)htaccess文件,可以幫我們實(shí)現(xiàn):網(wǎng)頁(yè)301[[重定向]] | 通過(guò)htaccess文件,可以幫我們實(shí)現(xiàn):網(wǎng)頁(yè)301[[重定向]]、自定義[[404]]錯(cuò)誤頁(yè)面、改變文件擴(kuò)展名、允許/阻止特定的用戶或者目錄的訪問(wèn)、禁止目錄列表、配置默認(rèn)文檔等功能。 | ||
[[Unix]]、[[Linux]]系統(tǒng)或者是任何版本的Apache [[Web]][[服務(wù)器]]都是支持. | [[Unix]]、[[Linux]]系統(tǒng)或者是任何版本的Apache [[Web]][[服務(wù)器]]都是支持.htaccess的,但是有的[[主機(jī)]]服務(wù)商可能不允許你自定義自己的.htaccess文件。 | ||
國(guó)內(nèi)的大多數(shù)[[虛擬主機(jī)]]就沒(méi)有這個(gè)功能。我所知道的提供這個(gè)功能的有康盛世紀(jì)(就是[[Discuz]]的論壇服務(wù)商)。 | 國(guó)內(nèi)的大多數(shù)[[虛擬主機(jī)]]就沒(méi)有這個(gè)功能。我所知道的提供這個(gè)功能的有康盛世紀(jì)(就是[[Discuz]]的論壇服務(wù)商)。 |
2010年11月16日 (二) 14:38的最新版本
.htaccess文件提供了針對(duì)每個(gè)目錄改變配置的方法。
.htaccess是什么[ ]
概述來(lái)說(shuō),htaccess文件是Apache服務(wù)器中的一個(gè)配置文件,它負(fù)責(zé)相關(guān)目錄下的網(wǎng)頁(yè)配置。
通過(guò)htaccess文件,可以幫我們實(shí)現(xiàn):網(wǎng)頁(yè)301重定向、自定義404錯(cuò)誤頁(yè)面、改變文件擴(kuò)展名、允許/阻止特定的用戶或者目錄的訪問(wèn)、禁止目錄列表、配置默認(rèn)文檔等功能。
Unix、Linux系統(tǒng)或者是任何版本的Apache Web服務(wù)器都是支持.htaccess的,但是有的主機(jī)服務(wù)商可能不允許你自定義自己的.htaccess文件。
國(guó)內(nèi)的大多數(shù)虛擬主機(jī)就沒(méi)有這個(gè)功能。我所知道的提供這個(gè)功能的有康盛世紀(jì)(就是Discuz的論壇服務(wù)商)。
籠統(tǒng)地說(shuō),.htaccess可以幫我們實(shí)現(xiàn)包括:文件夾密碼保護(hù)、用戶自動(dòng)重定向、自定義錯(cuò)誤頁(yè)面、改變你的文件擴(kuò)展名、封禁特定IP地址的用戶、只允許特定IP地址的用戶、禁止目錄列表,以及使用其他文件作為index文件等一些功能。
啟用.htaccess[ ]
啟用.htaccess,需要修改httpd.conf,啟用AllowOverride,并可以用AllowOverride限制特定命令的使用。如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令來(lái)改變。例如,需要使用.config ,則可以在服務(wù)器配置文件中按以下方法配置:AccessFileName .config 。
如何讓自己的本地Apache服務(wù)器支持".htaccess"呢?其實(shí)只要簡(jiǎn)單修改一下apache的httpd.conf設(shè)置就可以讓APACHE支持.htaccess了。打開(kāi)httpd.conf文件(在那里? APACHE目錄的CONF目錄里面),用文本編輯器打開(kāi)后,查找
<Directory /> Options FollowSymLinks AllowOverride None </Directory>
改為
<Directory /> Options FollowSymLinks AllowOverride All </Directory>
就可以了
如何建立.htaccess文件[ ]
.htaccess就是一個(gè)普通的文本文件,這樣的文件在windows操作系統(tǒng)中無(wú)法建立,可以先建立一個(gè)htaccess.txt文件,上傳到服務(wù)器以后再修改名車即可。
.htaccess使用實(shí)例[ ]
.htaccess使用實(shí)例收集整理.htaccess的具體應(yīng)用,供大家參考和快速使用。
使用.htaccess文件的場(chǎng)合[ ]
一般情況下,不應(yīng)該使用.htaccess文件,除非你對(duì)主配置文件沒(méi)有訪問(wèn)權(quán)限。有一種很常見(jiàn)的誤解,認(rèn)為用戶認(rèn)證只能通過(guò).htaccess文件實(shí)現(xiàn),其實(shí)并不是這樣,把用戶認(rèn)證寫(xiě)在主配置文件中是完全可行的,而且是一種很好的方法。
.htaccess文件應(yīng)該被用在內(nèi)容提供者需要針對(duì)特定目錄改變服務(wù)器的配置而又沒(méi)有root權(quán)限的情況下。如果服務(wù)器管理員不愿意頻繁修改配置,則可以允許用戶通過(guò).htaccess文件自己修改配置,尤其是ISP在同一個(gè)機(jī)器上運(yùn)行了多個(gè)用戶站點(diǎn),而又希望用戶可以自己改變配置的情況下。
雖然如此,一般都應(yīng)該盡可能地避免使用.htaccess文件。任何希望放在.htaccess文件中的配置,都可以放在主配置文件的<Directory>段中,而且更高效。
避免使用.htaccess文件有兩個(gè)主要原因。
首先是性能。如果AllowOverride啟用了.htaccess文件,則Apache需要在每個(gè)目錄中查找.htaccess文件,因此,無(wú)論是否真正用到,啟用.htaccess都會(huì)導(dǎo)致性能的下降。另外,對(duì)每一個(gè)請(qǐng)求,都需要讀取一次.htaccess文件。
還有,Apache必須在所有上級(jí)的目錄中查找.htaccess文件,以使所有有效的指令都起作用(參見(jiàn)指令的生效),所以,如果請(qǐng)求/www/htdocs/example中的頁(yè)面,Apache必須查找以下文件:
/.htaccess /www/.htaccess /www/htdocs/.htaccess /www/htdocs/example/.htaccess
總共要訪問(wèn)4個(gè)額外的文件,即使這些文件都不存在。(注意,這可能僅僅由于允許根目錄"/"使用.htaccess ,雖然這種情況并不多。)
其次是安全。這樣會(huì)允許用戶自己修改服務(wù)器的配置,這可能會(huì)導(dǎo)致某些意想不到的修改,所以請(qǐng)認(rèn)真考慮是否應(yīng)當(dāng)給予用戶這樣的特權(quán)。但是,如果給予用戶較少的特權(quán)而不能滿足其需要,則會(huì)帶來(lái)額外的技術(shù)支持請(qǐng)求,所以,必須明確地告訴用戶已經(jīng)給予他們的權(quán)限,說(shuō)明AllowOverride設(shè)置的值,并引導(dǎo)他們參閱相應(yīng)的說(shuō)明,以免日后生出許多麻煩。
注意,在/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>
但是,把配置放在主配置文件中更加高效,因?yàn)橹恍枰贏pache啟動(dòng)時(shí)讀取一次,而不是在每次文件被請(qǐng)求時(shí)都讀取。
將AllowOverride設(shè)置為none可以完全禁止使用.htaccess文件:
AllowOverride None
虛擬主機(jī)環(huán)境中,因?yàn)楣芾韱T不能讓所有用戶修改服務(wù)器配置文件,所以通過(guò).htaccess修改配置就是必要的。用戶經(jīng)常會(huì)用.htaccess文件來(lái)設(shè)置Rewrite 目錄密碼保護(hù) 默認(rèn)頁(yè)面或者是覆蓋服務(wù)器的其他設(shè)置
相關(guān)條目[ ]
參考資料: