“.htaccess”檔案往往被網頁設計師們忽略。假如你還不知道什麼是htaccess的話,你可以去查一下wikipedia。它是目錄層級的設定檔,有常用的網頁伺服器支援這種配置,例如Apache。下面我將列出10條有用的.htaccess配置技巧。
1. 反盜鏈
那些盜用了你的內容,還不願意自己儲存圖片的網站是無恥的。你可以通過以下配置來放置別人盜用你的圖片: view source
print?
2 |
RewriteCond %{HTTP_REFERER} !^$ |
3 |
RewriteCond %{HTTP_REFERER} !^http://(www.)?yoursite.com/.*$ [NC]
|
4 |
RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L] |
2. 防止瀏覽目錄
有時候瀏覽目錄是有用的,但大部分情況會有安全問題。為了讓你的網站更安全,你可以通過htaccess檔案來禁用這個功能: view source
print?
3. SEO友好的301永久重新導向
這一招是我常用的。每次我更改網站URL結構的時候,我都會做301重新導向: view source
print?
1 |
Redirect 301 http://www.yoursite.com/article.html http://www.yoursite.com/archives/article |
4. 顯示個人化的 404 錯誤頁面
當使用者訪問了一個不存在的頁面的時候,網頁伺服器會顯示“404 file not found”錯誤。有很多CMS可以讓你設定自訂的錯誤頁面,但最簡單的方法是更改htaccess:
view source
print?
1 |
ErrorDocument 404 /404.html |
5. 設定目錄的預設頁面
假如你需要為不同的目錄設定不同的預設頁面,你可以很容易的通過 .htaccess 實現: view source
print?
1 |
DirectoryIndex about.html |
6. 基於referer來限制網站訪問
站長通常不會限制網站訪問,但是當你發現有一些網站盡給你帶來垃圾流量的話,你就應該屏蔽他們: view source
print?
1 |
<IfModule mod_rewrite.c> |
2 |
RewriteEngine on RewriteCond %{HTTP_REFERER} spamteam.com [NC,OR]
|
3 |
RewriteCond %{HTTP_REFERER} trollteam.com [NC,OR]
|
7. 限制PHP上傳檔案大小
這招在共用空間的伺服器上很有用,可以讓我的使用者上傳更大的檔案。第一個是設定最大的上傳檔案大小,第二個是設定最大的POST請求大小,第三個PHP指令碼最長的執行時間,最後一個是指令碼解析上傳檔案的最長時間:
view source
print?
1 |
php_value upload_max_filesize 20M |
2 |
php_value post_max_size 20M |
3 |
php_value max_execution_time 200 |
4 |
php_value max_input_time 200 |
8. 壓縮檔
你可以通過壓縮檔來減少網路流量,也頁面裝載時間: view source
print?
1 |
AddOutputFilterByType DEFLATE text/plain
|
2 |
AddOutputFilterByType DEFLATE text/html
|
3 |
AddOutputFilterByType DEFLATE text/xml
|
4 |
AddOutputFilterByType DEFLATE text/css
|
5 |
AddOutputFilterByType DEFLATE application/xml
|
6 |
AddOutputFilterByType DEFLATE application/xhtml+xml
|
7 |
AddOutputFilterByType DEFLATE application/rss+xml
|
8 |
AddOutputFilterByType DEFLATE application/javascript
|
9 |
AddOutputFilterByType DEFLATE application/x-javascript |
9. 快取檔案
這一點還需要解釋嗎? view source
print?
1 |
<FilesMatch “.(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$”>
|
2 |
Header set
Cache-Control “max-age=2592000″ |
10. 添加尾部的反斜線
我並不確定,但是很多文章,很多人都說添加尾部反斜線有益於SEO: view source
print?
1 |
<IfModule mod_rewrite.c> |
2 |
RewriteCond %{REQUEST_URI} /+[^\.]+$
|
3 |
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
|