今天在整理資料時,在一個名叫「老兵日記」的資料夾中,找到了這篇有關htaccess的相關設定。
因此整理了一下,分享給有需要的人。
# protect the htaccess file
#保護特定檔案/頁面
<files 檔案名稱>
order allow,deny
deny from all
</files>
# limit file uploads to 10mb
#設定頁面上傳限制
LimitRequestBody 10240000
#who has access who doesnt
#阻擋來源
order allow,deny
deny from 000.000.000.000
allow from all
#custom error docs
#自訂錯誤訊息畫面
ErrorDocument 404 /notfound.php
ErrorDocument 403 /forbidden.php
ErrorDocument 500 /error.php
# disable directory browsing
#關閉目錄瀏覽
Options All -Indexes
#redirect old to new
#頁面導向
Redirect 301 /old.php <a href="http://www.yourdomain.com/new.php" title="http://www.yourdomain.com/new.php">http://www.yourdomain.com/new.php</a>
#block referring domains
#防止hotlink
RewriteEngine on
RewriteCond %{HTTP_REFERER} digg\.com [NC]
RewriteRule .* – [F]
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
//允許的連結
RewriteCond %{HTTP_REFERER} !^http://www.letsbike.org(.*) [NC]
//允許的連結
RewriteRule \.(jpg|jpeg|gif|css|swf|png|bmp|rar|zip|exe)$ – [F]
//拒絕的檔案格式,只要連結包含指定檔名/副檔名,則看到403錯誤訊息。
RewriteRule .(jpg|gif|png|bmp|swf|jpeg) /image/replace.gif [R,NC,L]
//這部分是判斷是否盜鏈,如果市則替換圖片為/image/replace.gif
#設定檔案防盜連
#disable hotlinking of images with forbidden or custom image option
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain.com/.*$ [NC]
#RewriteRule \.(gif|jpg)$ – [F]
#RewriteRule \.(gif|jpg)$ <a href="http://www.yourdomain.com/stealingisbad.gif" title="http://www.yourdomain.com/stealingisbad.gif">http://www.yourdomain.com/stealingisbad.gif</a> [R,L]
# php compression – use with caution
#PHP壓縮
<ifmodule mod_php4.c>
php_value zlib.output_compression 16386
</ifmodule>
# set the canonical url
#搜尋引擎最佳化
RewriteEngine On
RewriteCond %{HTTP_HOST} ^yourdomain\.com$ [NC]
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [R=301,L]
# protect from spam comments
#避免垃圾回應(1)
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*yourdomain.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
#避免垃圾回應(2)
#這招的原理是這樣:幾乎所有的 browser 的 User-Agent 都有 Mozilla 這個字串 (連IE也有喔),trackback 理論上是由 server 而非 browser 送出,所以如果 POST 到你的 trackback 的人帶了 Mozilla 字串的話,它一定是有問題的;另一條規則是,如果來 trackback 的不帶 User-Agent 的話,也是有問題的。
<Files trackback>
<Limit POST>
SetEnvIf User-Agent “Mozilla” trackers
SetEnvIf User-Agent ^$ trackers
Order allow,deny
Allow from all
Deny from env=trackers
</Limit>
</Files>
#設定首頁讀取順序
DirectoryIndex index.html index.html.var index.shtml index.cfm index.php
#可存取或登入某資料夾中的所有檔案
<Limit GET>
order deny,allow
deny from all
allow from ip網段
allow from ip網段
allow from ip網段
</Limit>
#禁止非正常PHP程式或方法列出此網站存放之目錄與檔案
Options –Indexes
#要將allow_url_include 原off,要on
php_flag allow_url_include On
評論
此文章尚無評論。