“.htaccess”文件往往被網(wǎng)頁設(shè)計師們忽略。假如你還不知道什么是htaccess的話,你可以去查一下wikipedia。它是目錄級別的配置文件,有常用的網(wǎng)頁服務(wù)器支持這種配置,例如Apache。下面我將列出10條有用的.htaccess配置技巧。
1. 反盜鏈 那些盜用了你的內(nèi)容,還不愿意自己存儲圖片的網(wǎng)站是無恥的。你可以通過以下配置來放置別人盜用你的圖片:
2 | RewriteCond %{HTTP_REFERER} !^$ |
3 | RewriteCond %{HTTP_REFERER} !^http://(www.)?/.*$ [NC] |
4 | RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L] |
2. 防止目錄瀏覽 有時候目錄瀏覽是有用的,但大部分情況會有安全問題。為了讓你的網(wǎng)站更安全,你可以通過htaccess文件來禁用這個功能:
3. SEO友好的301永久重定向 這一招是我常用的。每次我更改網(wǎng)站URL結(jié)構(gòu)的時候,我都會做301重定向:
1 | Redirect 301 http://www./article.html http://www./archives/article |
4. 顯示個性化的 404 錯誤頁面 當(dāng)用戶訪問了一個不存在的頁面的時候,網(wǎng)頁服務(wù)器會顯示“404 file not found”錯誤。有很多CMS可以讓你設(shè)置自定義的錯誤頁面,但最簡單的方法是更改htaccess:
1 | ErrorDocument 404 /404.html |
5. 設(shè)置目錄的默認(rèn)頁面 假如你需要為不同的目錄設(shè)置不同的默認(rèn)頁面,你可以很容易的通過 .htaccess 實現(xiàn):
1 | DirectoryIndex about.html |
6. 基于referer來限制網(wǎng)站訪問 站長通常不會限制網(wǎng)站訪問,但是當(dāng)你發(fā)現(xiàn)有一些網(wǎng)站盡給你帶來垃圾流量的話,你就應(yīng)該屏蔽他們:
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上傳文件大小 這招在共享空間的服務(wù)器上很有用,可以讓我的用戶上傳更大的文件。第一個是設(shè)置最大的上傳文件大小,第二個是設(shè)置最大的POST請求大小,第三個PHP腳本最長的執(zhí)行時間,最后一個是腳本解析上傳文件的最長時間:
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. 壓縮文件 你可以通過壓縮文件來減少網(wǎng)絡(luò)流量,也頁面裝載時間:
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. 緩存文件 這一點還需要解釋嗎?
1 | <FilesMatch “.(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$”> |
2 | Header set Cache-Control “max-age=2592000″ |
10. 添加尾部的反斜杠 我并不確定,但是很多文章,很多人都說添加尾部反斜杠有益于SEO:
1 | <IfModule mod_rewrite.c> |
2 | RewriteCond %{REQUEST_URI} /+[^\.]+$ |
3 | RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L] |
|