網站之.htaccess文件


  Apache系統中的.htaccess文件(分布式配置文件)提供了針對目錄改變配置的方法,也就是在一個特定的文件目錄中放置一個包含指令的文件,以作用於此目錄以及所有子目錄.直白的說,.htaccess文件只是一個簡單的文檔,可以在里面添加些簡單的命令實現各種不同的配置.

  作用:

    1.設置404頁面

      1) Apache服務器404頁面的設置方法

        在.htaccess文件中加入代碼:

      

ErrorDocument 404 /Error.html

        建立簡單的HTML404頁面Error.html, 把該Error.html放置在網站根目錄即可.

      2) IIS/ASP.net下設置404錯誤頁面

        首先,修改應用程序根目錄的配置,打開"web.config"文件,在其中添加內容:

<configuration>
<system.web>
<customErrors mode="On" defaultRedirect="error.asp">
<error statusCode="404" redirect="nofound.asp">
</customErrors>
</system.web>
</configuration>

        其中"error.asp"為系統默認的404頁面,"nofound.asp"為自定義的404頁面,使用時請修改相應文件名.

        然后,在自定義404頁面"nofound.asp"中加入:

<%
Response.Status = "404 Not Found"
%>

 

    2. 實現URL重定向

      我們可以對網站進行重新規划,將文檔進行遷移,或者更改目錄,這個時候,來自搜索引擎或者其他網站鏈接過來的訪問就可能錯誤.這種情況下,可以通過如下指令來完成舊的URL自動轉向新的地址:

Redirect /舊目錄/舊文件名  新文檔的地址

或者整個目錄的轉向:

Redirect /olddirectory http://www.newsite.com/newdirectory

       這樣,任何指向站點中olddirectory目錄的請求將被重新指向新的站點,包括添加的額外URL信息,例如:

http://www.youroldsite.com/olddirectory/oldfiles/images/image.gif

請求被重定向到:

http://www.newsite.com/olddirectory/oldfiles/images/image.gif

  

    3. 密碼保護

      有時候你可能針對某個目錄設定對應的密碼保護,首先要生成一個.htpasswd文件,然后輸入用於訪問網站的用戶名和密碼,格式:

username password

//其中password的應該是加密之后的密碼,另外需要注意: .htpasswd文件的位置最好放置在www目錄之外,較為安全

      最后,在.htaccess中添加指令:

AuthUserFile /full/path/to/.htpasswd(.htpasswd的服務器目錄)
AuthGroupFile /dev/null  (需要授權訪問的目錄)
AuthName EnterPassword
AuthType Basic (授權類型)
Require valid-user

  這樣就完成了使用.htaccess文件實現網站目錄密碼保護

  注:  在使用.htaccess來設置目錄的密碼保護的時候,它包含了密碼文件的路徑. 從安全考慮,有必要把.htaccess也保護起來,不讓別人看到其中的內容.最簡單的方式在.htaccess文件中加入指令:

order    allow,deny
deny  from all

 

    4. 拒絕某個ip的訪問請求

order    allow,deny
deny from 220.134.342.33
deny from 220.134.342
allow from all

    其中第二行代碼為拒絕某個ip,第三行拒絕某個ip段, 如果想阻止所有人訪問

deny    from     all

  

    5.文件防盜鏈

      

      很多站長都會遇到比較郁悶的問題,就是有些人會經常盜鏈自己網站的圖片、軟件等資源,這樣造成了不必要的流量浪費。想要防止盜鏈簡單的做法是在.htaccess文件加入如下指令:
RewriteEngine on 
RewriteCond %{ HTTP_REFERER } !^$ 
RewriteCond %{ HTTP_REFERER } !^http://(www.)?mydomain.com/.*$ [NC] 
RewriteRule .(gif&line;jpg)$ - [F]

 

    如果你想避免此方法給那些盜鏈你的網站帶來不友好的空白,你可以做一張圖片來代替,這張圖片也可以適當的宣傳你自己的網站。指令如下:
RewriteEngine on 
RewriteCond %{ HTTP_REFERER } !^$ 
RewriteCond %{ HTTP_REFERER } !^http://(www.)?mydomain.com/.*$ [NC] 
RewriteRule .(gif&line;jpg)$ http://www.mydomain.com/替代圖片文件名 [R,L]

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM