一、.htaccess的基本作用
.htaccess是一個純文本文件,它里面存放著Apache服務器配置相關的指令。
.htaccess主要的作用有:URL重寫、自定義錯誤頁面、MIME類型配置以及訪問權限控制等。主要體現(xiàn)在偽靜態(tài)的應用、圖片防盜鏈、自定義404錯誤頁面、阻止/允許特定IP/IP段、目錄瀏覽與主頁、禁止訪問指定文件類型、文件密碼保護等。
.htaccess的用途范圍主要針對當前目錄。
二、啟用.htaccess的配置
啟用.htaccess,需要修改httpd.conf,啟用AllowOverride,并可以用AllowOverride限制特定命令的使用。
打開httpd.conf文件用文本編輯器打開后,查找
代碼如下:
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
改為:
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令來改變。例如,需要使用.config ,則可以在服務器配置文件中按以下方法配置:
代碼如下:AccessFileName .config
三、.htaccess訪問控制
1、訪問控制基礎:Order命令
為了限制用戶訪問一些關鍵目錄,通常加入.htaccess文件,常見的寫法如下:
代碼如下:
<Files ~ "^.*/.([Ll][Oo][Gg])|([eE][xX][eE])">
Order allow,deny
Deny from all
</Files>
說明:
(1)Files后的波浪線表示啟用“正則表達式”,簡單的寫法有:<Files *>。
(2)Order命令:通過Allow,Deny參數(shù),Apache首先找到并應用Allow命令,然后應用Deny命令,以阻止所有訪問,也可以使用Deny,Allow。
四、URL重寫
下面是一段簡單的URL重寫規(guī)則示例:
代碼如下:
# 將 RewriteEngine 模式打開
RewriteEngine On
# Rewrite 系統(tǒng)規(guī)則請勿修改
RewriteRule ^p/([0-9]+)/.html$ index.php?post_id=$1
RewriteRule ^u-(username|uid)-(.+)/.html$ space.php?$1=$2
其中,RewriteEngine 表示開啟URL重寫,RewriteRule是重寫規(guī)則。
五、配置錯誤頁面
基本語法如下:
代碼如下:
# custom error documents
ErrorDocument 401 /err/401.php
ErrorDocument 403 /err/403.php
ErrorDocument 404 /err/404.php
ErrorDocument 500 /err/500.php
六、htaccess常用命令和配置技巧
1.禁止顯示目錄列表
有些時候,由于某種原因,你的目錄里沒有index文件,這意味著當有人在瀏覽器地址欄鍵入了該目錄的路徑,該目錄下所有的文件都會顯示出來,這會給你的網(wǎng)站留下安全隱患。
為避免這種情況(而不必創(chuàng)建一堆的新index文件),你可以在你的.htaccess文檔中鍵入以下命令,用以阻止
目錄列表的顯示:
代碼如下:Options -Indexes
新聞熱點
疑難解答