Htaccess文件是什么以及Windows下自由创建.htaccess文件的N种方法
.htaccess是什么
概述來說,htaccess文件是Apache服務器中的一個配置文件,它負責相關目錄下的網頁配置。
通過htaccess文件,可以幫我們實現:網頁301重定向、自定義404錯誤頁面、改變文件擴展名、允許/阻止特定的用戶或者目錄的訪問、禁止目錄列表、配置默認文檔等功能。
Unix、Linux系統或者是任何版本的Apache Web服務器都是支持.htaccess的,但是有的主機服務商可能不允許你自定義自己的.htaccess文件。
國內的大多數虛擬主機就沒有這個功能。我所知道的提供這個功能的有康盛世紀(就是Discuz的論壇服務商)。
籠統地說,.htaccess可以幫我們實現包括:文件夾密碼保護、用戶自動重定向、自定義錯誤頁面、改變你的文件擴展名、封禁特定IP地址的用戶、只允許特定IP地址的用戶、禁止目錄列表,以及使用其他文件作為index文件等一些功能。
啟用.htaccess
啟用.htaccess,需要修改httpd.conf,啟用AllowOverride,并可以用AllowOverride限制特定命令的使用。如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令來改變。例如,需要使用.config ,則可以在服務器配置文件中按以下方法配置:AccessFileName .config 。
如何讓自己的本地Apache服務器支持".htaccess"呢?其實只要簡單修改一下apache的httpd.conf設置就可以讓APACHE支持.htaccess了。打開httpd.conf文件(在那里? APACHE目錄的CONF目錄里面),用文本編輯器打開后,查找
<Directory /> Options FollowSymLinks AllowOverride None </Directory>
改為
<Directory /> Options FollowSymLinks AllowOverride All </Directory>
就可以了
如何建立.htaccess文件
.htaccess就是一個普通的文本文件,這樣的文件在windows操作系統中無法建立,可以先建立一個htaccess.txt文件,上傳到服務器以后再修改名車即可。
.htaccess使用實例
.htaccess使用實例收集整理.htaccess的具體應用,供大家參考和快速使用。
使用.htaccess文件的場合
一般情況下,不應該使用.htaccess文件,除非你對主配置文件沒有訪問權限。有一種很常見的誤解,認為用戶認證只能通過.htaccess文件實現,其實并不是這樣,把用戶認證寫在主配置文件中是完全可行的,而且是一種很好的方法。
.htaccess文件應該被用在內容提供者需要針對特定目錄改變服務器的配置而又沒有root權限的情況下。如果服務器管理員不愿意頻繁修改配置,則可以允許用戶通過.htaccess文件自己修改配置,尤其是ISP在同一個機器上運行了多個用戶站點,而又希望用戶可以自己改變配置的情況下。
雖然如此,一般都應該盡可能地避免使用.htaccess文件。任何希望放在.htaccess文件中的配置,都可以放在主配置文件的<Directory>段中,而且更高效。
避免使用.htaccess文件有兩個主要原因。
首先是性能。如果AllowOverride啟用了.htaccess文件,則Apache需要在每個目錄中查找.htaccess文件,因此,無論是否真正用到,啟用.htaccess都會導致性能的下降。另外,對每一個請求,都需要讀取一次.htaccess文件。
還有,Apache必須在所有上級的目錄中查找.htaccess文件,以使所有有效的指令都起作用(參見指令的生效),所以,如果請求/www/htdocs/example中的頁面,Apache必須查找以下文件:
/.htaccess /www/.htaccess /www/htdocs/.htaccess /www/htdocs/example/.htaccess
總共要訪問4個額外的文件,即使這些文件都不存在。(注意,這可能僅僅由于允許根目錄"/"使用.htaccess ,雖然這種情況并不多。)
其次是安全。這樣會允許用戶自己修改服務器的配置,這可能會導致某些意想不到的修改,所以請認真考慮是否應當給予用戶這樣的特權。但是,如果給予用戶較少的特權而不能滿足其需要,則會帶來額外的技術支持請求,所以,必須明確地告訴用戶已經給予他們的權限,說明AllowOverride設置的值,并引導他們參閱相應的說明,以免日后生出許多麻煩。
注意,在/www/htdocs/example目錄下的.htaccess文件中放置指令,與在主配置文件中<Directory /www/htdocs/example>段中放置相同指令,是完全等效的。
/www/htdocs/example目錄下的.htaccess文件: /www/htdocs/example目錄下的.htaccess文件的內容:
AddType text/example .exm httpd.conf文件中摘錄的內容:
<Directory /www/htdocs/example> AddType text/example .exm </Directory>
但是,把配置放在主配置文件中更加高效,因為只需要在Apache啟動時讀取一次,而不是在每次文件被請求時都讀取。
將AllowOverride設置為none可以完全禁止使用.htaccess文件:
AllowOverride None
虛擬主機環境中,因為管理員不能讓所有用戶修改服務器配置文件,所以通過.htaccess修改配置就是必要的。用戶經常會用.htaccess文件來設置Rewrite 目錄密碼保護 默認頁面或者是覆蓋服務器的其他設置
============================================================================================== Windows下自由創建.htaccess文件的N種方法 .htaccess是apache的訪問控制文件,apache中httpd.conf的選項配合此文件,完美實現了目錄、站點的訪問控制,當然最多的還是rewrite功能,即URL重寫,PHP中實現偽靜態的一個重要途徑,也是被公認為SEO中搜索引擎友好的極為有效的一個手段。盡管前些天的黑屏風波鬧的沸沸揚揚,但依本人拙見,windows用戶并無任何減少。現在的一個實際問題就是windows不允許重命名時.的前面沒有字符,它認為這樣的文件名是不合法的。這就造成我們無法通過重命名”新建文本文檔.txt”為”.htaccess”來創建此訪問控制文件,但是,事情總有解決的辦法。且看下面的幾個方法:
1、使用DOS命令,在DOS下有三種方法可供選擇:
使用屏幕編輯命令copy con .htaccess后回車,輸入內容,最后按下ctrl+z結束編輯,就成功生成了.htaccess;
使用重命名命令ren 1.txt .htaccess ,這是最常規的方法了,在windows窗口下不能執行的命令,在cmd下卻如履平地;
使用重定向命令 echo. >.htaccess,這里將一個回車符輸入到.htaccess,同樣能創建成功; 2、用winrar的文件管理器,先新建一文本文檔,然后打開winrar主界面,定位到該文件,可以直接重命名,這是我在解壓一國外開源項目時,其自帶的.htaccess居然能正確解壓出來時,所得到的啟發,當然你使用7zip之類的管理器也是可以的 3、直接通過文本編輯工具保存,例如記事本,ultraEdit等等,不過保存的時候選擇所有文件就可以了 4、使用php中的文件創建方法,fopen,file_put_contents文件名直接取.htaccess就成。
總結
以上是生活随笔為你收集整理的Htaccess文件是什么以及Windows下自由创建.htaccess文件的N种方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 火锅店给我出了道奥数题~~大家来算算~~
- 下一篇: MySQL 备份和恢复策略