.htaccess 簡單的用法

由 Derek 發表於 七月 8, 2011 / 尚無評論

 

 很多時後會都需要使用到.htaccess 因此今天就來說明一些簡單的用法。

 

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://url/new
當用戶要求 /old 時,伺服器便把其重新導向至
 http://url/new ,或在 .htaccess 內寫上:
Redirect permanent /old
 http://url/new
當用戶要求 /old 時,伺服器便叫瀏覽器把其永遠重新導向至
 http://url/new

 

6. 防止列出目綠內的檔案
.htaccess 內寫上:
Option -Indexes
這便不能列出檔案目錄了
.htaccess 內寫上:
IndexIgnore *.zip *.txt
這便不列出檔案目錄內的 .zip 與 .txt 檔了

註: .htaccess 的大部分內容 (如:密碼保護) 可以寫回 httpd.conf 相應的目錄設定內( <Directory> )


 

關於作者

一個半路殺出來的傻小子,憑著一股傻勁努力的學習、嘗試、分享。希望能用自己微薄之力,替IT界和資訊界盡一點心力。單憑一己之力始終還是有限,歡迎和我有相同理念的夥伴一同加入一同努力。

評論

此文章尚無評論。

發表評論

*