.htaccess
.htaccess 可放在任何一網頁目錄內,當該目錄在 httpd.conf 設定不是 AllowOverride None 便可使用 .htaccess 的功能了,而設定作 AllowOverride All 更可使用 .htaccess 的所有功能了
.htaccess 可用作對該目錄及其子目錄進行取存控制,而不用修改 httpd.conf 及不用重新啟動伺服器軟件
--------------------------------------------------------------------------------
httpd.conf 的設定
加上或取消註解 (#) ]定改成 AllowOverride All
然後儲存及重新啟動伺服器軟件
--------------------------------------------------------------------------------
.htaccess 的用法
先把 .htaccess 放在要用的目錄內 (Windows 系統內不可以直接把檔案改名作 .htaccess ,需用間接的方法,如在指令模式下 ren filename.txt .htaccess 或用 FTP 軟件修改該檔名)
用法:
1. 密碼保護
.htaccess 內寫上:
AuthName "testing"
AuthType Basic
AuthUserFile "C:/Apache/htdocs/testing/.htpasswd"
require valid-user
AuthName 是當你進入密碼保護時,瀏覽器出現的說明
AuthUserFile "C:/Apache/htdocs/testing/.htpasswd" 是密碼檔案的位置
密碼檔案 (.htpasswd) 內寫上:
user1:password1
user2:password2
但密碼不應直接寫上,即是如果有一使用者是 test ,密碼是 password ,先用 C:\Apache\bin 內的 htpasswd.exe 把密碼加密,用法如下] require group group1 ,因此只有 group1 的使用者可通過,即 john , peter 及 david
2. 自設錯誤報告文件
.htaccess 內寫上:
ErrorDocument 404 /404.html
如果找不到網頁時,便輸出 404.html 的內容,其他錯誤時做法亦然,如:
ErrorDocument 404 "<html><body>找不到網頁</body></html>
ErrorDocument 500 /500.html
3. 自設首頁檔案
.htaccess 內寫上:
DirectoryIndex a.html
首頁檔案便是 a.html 了
4. 禁止讀取檔案
.htaccess 內寫上:
<Files secret.html>
order allow,deny
deny from all
</Files>
deny from all 即所有人皆不能讀取 sercet.html
而 Apache 1.3 以後的版本,更可以用支援 regular expression 的 filesmatch
.htaccess 內寫上:
<filesmatch "\.jpg">
order allow,deny
deny from all
</filesmatch>
即所有人皆不能讀取副檔名為 .jpg 的檔案
.htaccess 內寫上:
<Files secret.html>
order allow,deny
allow form all
deny form 202.202
</Files>
即 ip 是以 202.202 開頭的不能讀取副檔名為 secret.html 的檔案
.htaccess 內寫上:
<Limit GET>
order deny,allow
deny from all
allow from 202.202 domain.com
</Limit>
即只允許 ip 是以 202.202 為開頭或域名是 domain.com 的讀取此目錄內的任何內容
.htaccess 內寫上:
AuthUserFile "C:/Apache/htdocs/testing/.htpasswd"
<files sercet.html>
require user peter
</files>
即只允許 .htpasswd 內列出的 peter 讀取 sercet.html
5. 重新導向文件
.htaccess 內寫上:
Redirect /old
http://ur...ew當用戶要求 /old 時,伺服器便把其重新導向至
http://ur...ew ,或在 .htaccess 內寫上:
Redirect permanent /old
http://ur...ew當用戶要求 /old 時,伺服器便叫瀏覽器把其永遠重新導向至
http://ur...ew6. 防止列出目綠內的檔案
.htaccess 內寫上:
Option -Indexes
這便不能列出檔案目錄了
.htaccess 內寫上:
IndexIgnore *.zip *.txt
這便不列出檔案目錄內的 .zip 與 .txt 檔了
註: .htaccess 的大部分內容 (如:密碼保護) 可以寫回 httpd.conf 相應的目錄設定內( <Directory> )