.htaccess是Apache服務器中用于配置網站的文件。它使用Apache服務器的模塊mod_rewrite和mod_auth來實現對網站的訪問控制和重定向。
.htaccess文件的語法如下:
- 注釋:以"#"開頭的行為注釋,不會被服務器處理。
- 指令:每一行都由一個指令和一個參數組成,使用空格分隔。
- 指令塊:可以使用指令塊來組織相關指令,使用<指令塊名稱>和</指令塊名稱>包圍。
以下是一些常用的.htaccess指令和示例:
-
重定向:
-
Redirect:重定向一個頁面到另一個頁面。
例如:Redirect /old-page.html /new-page.html
-
RewriteRule:使用正則表達式重寫URL。
例如:RewriteRule ^old-page.html$ new-page.html [R=301,L]
-
阻止目錄列表:
- Options:禁止目錄列表。
例如:Options -Indexes
-
訪問控制:
- Require:設置訪問控制規則。
例如:Require all denied
-
MIME類型:
- AddType:添加MIME類型。
例如:AddType application/x-httpd-php .php
-
自定義錯誤頁面:
- ErrorDocument:指定錯誤頁面。
例如:ErrorDocument 404 /error404.html
-
啟用GZIP壓縮:
- mod_deflate:啟用GZIP壓縮。
例如:
SetOutputFilter DEFLATE
-
禁止Hotlinking:
- RewriteCond:檢查HTTP_REFERER來判斷是否允許Hotlinking。
例如:RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yourdomain.com [NC]
RewriteRule .(jpg|jpeg|png|gif)$ - [NC,F,L]
上述示例只是.htaccess的一小部分功能,.htaccess還支持許多其他指令和功能,可以根據具體需求進行配置。