説到.htaccess 文件,我想對於 WordPress 新手或者老手都應該不是很熟悉,也沒有多少這方面的概念吧,至少小編是這樣的,而最近看到一篇有關介紹的文章,覺得很不錯,所以今天打算分享給大家,也給自己一篇掃盲課吧!
首先介紹下.htaccess 文件到底是什麼,.htaccess 是 Apache HTTP Server 系統級別的配置文件,通常用來實現主機本身以外的一些功能的,比如説重定向、 Gzip 、以及訪問限制等等。。。
那麼下面就介紹 10 個關於.htaccess 文件的妙用,看看大家都瞭解多少
1 、重定向 (301 跳轉)
相信這個功能,大家都不陌生,為了集中網站域名的權重,通常會將不帶 www 的域名 301 跳轉到帶 www 的域名上,比如説本站的域名 2zzt.com 就會自動的跳轉到 www.2zzt.com 上來,這樣做的好處就是,搜索引擎會集中不帶 www 的域名的頁面權重到帶 www 的網址頁面上來,如果沒有做 301 重定向,且帶 www 和不帶 www 的域名都能訪問同一個網站,那麼在搜索引擎優化方面將起到分散權重的弊端!具體操作:(將域名替換為自己的粘貼到.htaccess 文件內即可)
- RewriteEngine On
- RewriteCond %{HTTP_HOST} !^2zzt.com$ [NC]
- RewriteRule ^(.*)$ http:
2 、防盜鏈功能
確實,.htaccess 文件可以開啓防盜鏈的功能,什麼叫防盜鏈?防盜鏈就是節省網站的流量,將網站內的文件、圖片等都僅能在自己的網站域名上顯示,避免其他網站調用自己網站文件而流失大量的流量,對於很多小站長來説,主機都是有流量限制的 。具體操作:
- RewriteEngine On
- RewriteCond %{HTTP_REFERER} !^http:
- RewriteCond %{HTTP_REFERER} !^$
- # WordPress 主題下載站提醒:/notlink.png 為盜鏈顯示的圖片,建議使用小尺寸的,以免因為圖片太大,二次浪費!
- RewriteRule .*.(jpe?g|gif|bmp|png)$ /notlink.png [L]
3 、將 WordPress 的 feed 源進行 301 重定向
説到這功能,老實説小編還是很陌生的,原因是小編就沒用過 feed 的功能,當然如果大家在使用 WordPress 自帶的 feed 源的話,這裏就跳過吧,因為這個功能是為了那些不是使用 WordPress 自帶的 feed 源的朋友能夠協助站長規範化 feed 源的,具體操作:
- <IfModule mod_alias.c>
- RedirectMatch 301 /feed/(atom|rdf|rss|rss2)/?$ http:
- RedirectMatch 301 /comments/feed/(atom|rdf|rss|rss2)/?$ http:
- </IfModule>
4 、主機錯誤頁面的定義
這個功能相對於大家使用虛擬主機的話,可能都已經有相關設置了,但如果是自己搭建環境的話,相信還是需要用到的,具體操作:
- ErrorDocument 400 /errors/badrequest.html
- ErrorDocument 401 /errors/authreqd.html
- ErrorDocument 403 /errors/forbid.html
- ErrorDocument 404 /errors/notfound.html
- ErrorDocument 500 /errors/serverr.html
5 、指定類型的文件的打開方式
好吧,又一個陌生的功能來了,這個功能主要表現在於個別站點的音樂 (mp3) 文件,圖片 (jpg 、 png 、 gif) 文件等文件必須通過下載方式得到,對於下載站來説,這樣的指令是很需要的,具體操作:(自已添加文件擴展名即可)
- <Files *.jpg>
- ForceType application/octet-stream
- Header set Content-Disposition attachment
- </Files>
6 、 php 錯誤運行的記錄生成
又一個陌生的功能來了,意思就是生成主機空間運行 php 所產生錯誤的記錄,對於技術宅或者查詢被黑記錄是十分需要的,想象下,在密密麻麻的記錄中,尋找着一些蛛絲馬跡,是否很牛 B 的樣子,呵呵。具體操作:
- # 啓用不向用户顯示錯誤
- php_flag display_startup_errors off
- php_flag display_errors off
- php_flag html_errors off
- # 記錄日誌到文件
- php_flag log_errors on
- php_value error_log /location/to/php_error.log
7 、網址中的文件擴展名的設定
從名稱看不出具體的含義吧,其實很簡單,這個功能可以移除網址中 文件的擴展名 例如.php .asp .html 通過.htaccess 文件來實現起來是比較簡單和安全的,也是比較有效率的,當然這也是比較極端的做法,技術宅的愛好,但搜索引擎不愛好,搜索引擎更愛靜態文件,比如.html 所以需要謹慎使用!具體操作:
- RewriteEngine on
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteCond %{REQUEST_FILENAME}.html -f
- RewriteRule ^(.*)$ $1.html
- # html 可以被替換成為 asp 、 php 等
8 、未配置的 apache 為自動列出文件目錄
我們經常會看到一些網站打開後是文件目錄?其實他們是未配置的 apache 環境產生的,那麼這很不安全,下面的代碼能夠輕鬆解決:
9 、網站頁面壓縮,也叫靜態資源壓縮 (Gzip)
加快頁面打開速度的有效方法就是頁面靜態壓縮,簡稱 gizp, 當然靜態化的方面有很多,這裏説下普遍頁面的壓縮,即靜態資源壓縮 (Gzip),操作方法很簡單:
- <ifmodule mod_deflate.c>
- AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-httpd-php application/x-javascript
- </ifmodule>
10 、糾正代碼的編碼
很多朋友在寫完一段代碼上傳到服務器後,經常出現了亂碼的情況,而下面這個步驟,將解決因為代碼編碼而亂碼的問題:
- <FilesMatch ".(htm|html|css|js)$">
- AddDefaultCharset UTF-8
- </FilesMatch>
現在對.htaccess 文件的妙用是否有了更多的認識了,當然還有很多的功能小編自己也不知道,先寫這麼多吧,日後再更新,親手碼字,請複製黨滾!