.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> )