麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網(wǎng)站 > Apache > 正文

apache中的.htaccess與配置apache支持.htaccess方法

2024-08-27 18:22:05
字體:
供稿:網(wǎng)友

.htaccess文件的功能:"分布式配置文件"提供了針對(duì)目錄改變配置的方法,即:在一個(gè)特定的文檔目錄中放置一個(gè)包含一個(gè)或多個(gè)指令的文件,以作用于此目錄及其所有子目錄。作為用戶,所能使用的命令受到限制。管理員可以通過Apache 的AllowOverride指令來設(shè)置.子目錄中的指令會(huì)覆蓋更高級(jí)目錄或者主服務(wù)器配置文件中的指令。

一、錯(cuò)誤文檔的定位

(1)常用的客戶端請(qǐng)求錯(cuò)誤返回代碼:

401 Authorization Required 403 Forbidden 404 Not Found 405 Method Not Allowed 408 Request Timed Out 411 Content Length Required 412 Precondition Failed 413 Request Entity Too Long 414 Request URI Too Long 415 Unsupported Media Type 

(2)常見的服務(wù)器錯(cuò)誤返回代碼:500 Internal Server Error 

(3)用戶可以利用.htaccess指定自己事先制作好的錯(cuò)誤提醒頁面。

一般情況下,人們可以專門設(shè)立一個(gè)目錄,例如errors放置這些頁面。然后再.htaccess中,加入如下的指令:ErrorDocument 404 /errors/notfound.html ErrorDocument 500 /errors/internalerror.html 一條指令一行。

上述第一條指令的意思是對(duì)于404,也就是沒有找到所需要的文檔的時(shí)候得顯示頁面為/errors目錄下的notfound.html頁面。不難看出語法格式為:

ErrorDocument 錯(cuò)誤代碼 /目錄名/文件名.擴(kuò)展名 

如果所需要提示的信息很少的話,不必專門制作頁面,直接在指令中使用HTML號(hào)了,例如下面這個(gè)例子:

ErrorDocument 401 "

 

你沒有權(quán)限訪問該頁面! 

二、文檔訪問的密碼保護(hù)要利用.htaccess對(duì)某個(gè)目錄下的文檔設(shè)定訪問用戶和對(duì)應(yīng)的密碼,首先要做的是生成一個(gè).htpasswd的文本文檔,例如:

zheng:y4E7Ep8e7EYV 

這里密碼經(jīng)過加密,用戶可以自己找些工具將密碼加密成.htaccess支持的編碼。該文檔最好不要放在www目錄下,建議放在www根目錄文檔之外,這樣更為安全些。

有了授權(quán)用戶文檔,可以在.htaccess中加入如下指令了:

AuthUserFile .htpasswd的服務(wù)器目錄 AuthGroupFile /dev/null (需要授權(quán)訪問的目錄) AuthName EnterPassword AuthType Basic (授權(quán)類型) 

require user wsabstract (允許訪問的用戶,如果希望表中所有用戶都允許,可以使用 require valid-user)

注:括號(hào)部分為學(xué)習(xí)時(shí)候自己添加的注釋

三、拒絕來自某個(gè)IP的訪問

如果我不想某個(gè)政府部門訪問到我的站點(diǎn)的內(nèi)容,那可以通過.htaccess中加入該部門的IP而將它們拒絕在外。 例如:

order allow,deny deny from 210.21.112.43deny from 219.146.95 allow from all 

注: 第二行拒絕某個(gè)IP,第三行拒絕某個(gè)IP段,也就是219.146.95.0~219.146.95.255 想要拒絕所有人?用deny from all好了。不止用IP,也可以用域名來設(shè)定。

四、保護(hù).htaccess文檔

在使用.htaccess來設(shè)置目錄的密碼保護(hù)時(shí),它包含了密碼文件的路徑。從安全考慮,有必要把.htaccess也保護(hù)起來,不讓別人看到其中的內(nèi)容。雖然可以用其他方式做到這點(diǎn),比如文檔的權(quán)限。不過,.htaccess本身也能做到,只需加入如下的指令:

order allow,deny deny from all

五、URL轉(zhuǎn)向

我們可能對(duì)網(wǎng)站進(jìn)行重新規(guī)劃,將文檔進(jìn)行了遷移,或者更改了目錄。這時(shí)候,來自搜索引擎或者其他網(wǎng)站鏈接過來的訪問就可能出錯(cuò)。這種情況下,可以通過如下指令來完成舊的URL自動(dòng)轉(zhuǎn)向到新的地址:

Redirect /舊目錄/舊文檔名 新文檔的地址 或者整個(gè)目錄的轉(zhuǎn)向: Redirect 舊目錄 新目錄 改變?nèi)笔〉氖醉撐募?nbsp;

一般情況下缺省的首頁文件名有default、index等。不過,有些時(shí)候目錄中沒有缺省文件,而是某個(gè)特定的文件名,比如在pmwiki中是pmwiki.php。這種情況下,要用戶記住文件名來訪問很麻煩。在.htaccess中可以輕易的設(shè)置新的缺省文件名:

DirectoryIndex 新的缺省文件名 

也可以列出多個(gè),順序表明它們之間的優(yōu)先級(jí)別,例如:

DirectoryIndex filename.html index.cgi index.pl default.htm

二、使用.htaccess配置文件

在配置Apache時(shí),除了可以在主配置文件(http.conf)中配置訪問控制之外,還可以使用.htaccess 文件配置對(duì)指定目錄的訪問控制。使用.htaccess文件可以改變主配置文件中的配置,但是它只能設(shè)置對(duì)指定目錄的訪問控制,這個(gè)目錄就是.htaccess文件存放的目錄。在一個(gè)目錄下設(shè)置了.htaccess文件之后,當(dāng)用戶使用瀏覽器訪問此目錄時(shí),Apache會(huì)讀取該文件的配置來覆蓋主配置文件(http.conf)的配置。

注意:1.修改.htaccess文件無需重新啟動(dòng)Apache服務(wù)器,而是立即生效。

2.在可能的情況下應(yīng)該盡量避免使用.htaccess文件,因?yàn)槭褂?htaccess文件會(huì)降低服務(wù)器的運(yùn)行性能。

何時(shí)使用.htaccess文件:

有如下兩種情況需要使用.htaccess文件:

*在多個(gè)用戶之間分割配置

*想在不重新啟動(dòng)服務(wù)器的情況下改變服務(wù)器配置

使用.htaccess文件必須經(jīng)過兩個(gè)配置步驟:

*首先在主配置文件中的啟用并控制對(duì).htaccess文件的使用

*然后在需要覆蓋主配置文件的目錄下生成.htaccess文件

在主配置文件中的啟用并控制對(duì).htaccess文件的使用

1.設(shè)置文件名稱必須保證在主配置文件中包含如下的配置語句:

  1. AccessFileName .htaccess 
  2.  
  3. Order allow,deny 
  4. Deny from all 
  5.  

2.控制在.htaccess文件中可以使用的指令組

要控制在.htaccess文件中可以使用的指令組,需要在主配置文件中使用AllowOverride指令。下面列出了可以在AllowOverride指令所使用的指令組。

指令組 可用指令 說明

  1. AuthConfig 
  2. AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require 

進(jìn)行認(rèn)證、授權(quán)以及安全的相關(guān)指令

  1. FileInfo 
  2. DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter 

控制文件處理方式的相關(guān)指令

  1. Indexes 
  2. AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName 

控制目錄列表方式的相關(guān)指令

  1. Limit 
  2. Allow,Deny,Order 

進(jìn)行目錄訪問控制的相關(guān)指令

  1. Options 
  2. Options, XBitHack 

啟用不能在主配置文件中使用的各種選項(xiàng)

All

全部指令組

可以使用以上所有指令

None

禁止使用所有指令

禁止處理.htaccess文件

3、生成.htaccess文件

當(dāng)在主配置文件中配置了對(duì).htaccess文件的啟用和控制之后,接下來就可以在需要覆蓋主配置文件的目錄下生成.htaccess文件。.htaccess文件中可以使用的配置指令取決于主配置文件中AllowOverride指令的設(shè)置。

4、使用.htaccess文件舉例

下面舉一個(gè)簡(jiǎn)單的例子說明.htaccess文件的使用。

  1. //首先在文檔根目錄下生成一個(gè)private目錄,并創(chuàng)建測(cè)試文件 
  2. # cd /var/www/html 
  3. # mkdir private 
  4. # cd private 
  5. # touch test 
  6. //修改配置前,在客戶瀏覽器查看結(jié)果。 
  7. //修改主配置文件 
  8. # vi /etc/httpd/conf/httpd.conf 
  9. //添加如下配置語句 
  10. var/www/html/private”> 
  11. AllowOverride Options 
  12.  
  13. # 
  14. //重新啟動(dòng)httpd 
  15. # service httpd restart 
  16. //在/var/www/html/private目錄下生成.htaccess文件 
  17. # vi /var/www/html/private/.htaccess 
  18. //添加如下配置語句 
  19. Options –Indexes 
  20. # 
  21. //在客戶瀏覽器中查看結(jié)果。 
  22. //即對(duì)private目錄的訪問不生成文件列表 

三、.htaccess文件的配置說明

Apache可以使用分布在整個(gè)網(wǎng)頁結(jié)構(gòu)中的特殊文件來進(jìn)行配置,這些特殊文件通常叫.htaccess,也可以用AccessFileName指令來改變。.htaccess 文件中的指令的作用域是存放它的那個(gè)目錄及其所有子目錄。.htaccess 文件的語法與主配置文件相同。由于對(duì)每次請(qǐng)求都會(huì)讀取.htaccess 文件,所以對(duì)這些文件的改變會(huì)立即生效。

可以查閱Context了解可以放在.htaccess文件中的指令;服務(wù)器管理員可以通過AllowOverride指令,來決定.htaccess 文件中可以生效的指令。

.htaccess 文件(或者”分布式配置文件”)提供了針對(duì)目錄改變配置的方法,即在一個(gè)特定的文檔目錄中放置一個(gè)包含一個(gè)或多個(gè)指令的文件,以作用于此目錄及其所有子目錄。作為用戶,所能使用的命令受到限制。管理員可以通過Apache的AllowOverride指令來設(shè)置。

子目錄中的指令會(huì)覆蓋更高級(jí)目錄或者主服務(wù)器配置文件中的指令。

- .htaccess必須以ASCII模式上傳,最好將其權(quán)限設(shè)置為644。

1、錯(cuò)誤文檔的定位

常用的客戶端請(qǐng)求錯(cuò)誤返回代碼:

  1. 401 Authorization Required 
  2. 403 Forbidden 
  3. 404 Not Found 
  4. 405 Method Not Allowed 
  5. 408 Request Timed Out 
  6. 411 Content Length Required 
  7. 412 Precondition Failed 
  8. 413 Request Entity Too Long 
  9. 414 Request URI Too Long 
  10. 415 Unsupported Media Type 

常見的服務(wù)器錯(cuò)誤返回代碼:

500 Internal Server Error

用戶可以利用.htaccess指定自己事先制作好的錯(cuò)誤提醒頁面。一般情況下,人們可以專門設(shè)立一個(gè)目錄,例如errors放置這些頁面。然后再.htaccess中,加入如下的指令:

  1. ErrorDocument 404 /errors/notfound.html 
  2. ErrorDocument 500 /errors/internalerror.html 

一條指令一行。上述第一條指令的意思是對(duì)于404,也就是沒有找到所需要的文檔的時(shí)候得顯示頁面為/errors目錄下的notfound.html頁面。不難看出語法格式為:

ErrorDocument 錯(cuò)誤代碼 /目錄名/文件名.擴(kuò)展名

如果所需要提示的信息很少的話,不必專門制作頁面,直接在指令中使用HTML號(hào)了,例如下面這個(gè)例子:

ErrorDocument 401 “你沒有權(quán)限訪問該頁面,請(qǐng)放棄!”

2、文檔訪問的密碼保護(hù)

要利用.htaccess對(duì)某個(gè)目錄下的文檔設(shè)定訪問用戶和對(duì)應(yīng)的密碼,首先要做的是生成一個(gè).htpasswd的文本文檔,例如:martin:123456

這里密碼經(jīng)過加密,用戶可以自己找些工具將密碼加密成.htaccess支持的編碼。該文檔最好不要放在www目錄下,建議放在www根目錄文檔之外,這樣更為安全些。

有了授權(quán)用戶文檔,可以在.htaccess中加入如下指令了:

AuthUserFile .htpasswd的服務(wù)器目錄

AuthGroupFile /dev/null (需要授權(quán)訪問的目錄)

AuthName EnterPassword

AuthType Basic (授權(quán)類型)

require user wsabstract (允許訪問的用戶,如果希望表中所有用戶都允許,可以使用 require valid-user)

3、拒絕來自某個(gè)IP的訪問

如果我不想某個(gè)政府部門訪問到我的站點(diǎn)的內(nèi)容,那可以通過.htaccess中加入該部門的IP而將它們拒絕在外。例如:

  1. order allow,deny 
  2. deny from 210.10.56.32 
  3. deny from 219.5.45. 
  4. allow from all 

第二行拒絕某個(gè)IP,第三行拒絕某個(gè)IP段,也就是219.5.45.0~219.2.45.255。想要拒絕所有人?用deny from all好了。不止用IP,也可以用域名來設(shè)定。

4、保護(hù).htaccess文檔

在使用.htaccess來設(shè)置目錄的密碼保護(hù)時(shí),它包含了密碼文件的路徑。從安全考慮,有必要把.htaccess也保護(hù)起來,不讓別人看到其中的內(nèi)容。雖然可以用其他方式做到這點(diǎn),比如文檔的權(quán)限。不過,.htaccess本身也能做到,只需加入如下的指令:

order allow,deny   deny from all

5、URL轉(zhuǎn)向

我們可能對(duì)網(wǎng)站進(jìn)行重新規(guī)劃,將文檔進(jìn)行了遷移,或者更改了目錄。這時(shí)候,來自搜索引擎或者其他網(wǎng)站鏈接過來的訪問就可能出錯(cuò)。這種情況下,可以通過如下指令來完成舊的URL自動(dòng)轉(zhuǎn)向到新的地址:

Redirect /舊目錄/舊文檔名 新文檔的地址或者整個(gè)目錄的轉(zhuǎn)向:

Redirect 舊目錄 新目錄

6、改變?nèi)笔〉氖醉撐募?/strong>

一般情況下缺省的首頁文件名有default、index等。不過,有些時(shí)候目錄中沒有缺省文件,而是某個(gè)特定的文件名,比如在pmwiki中是pmwiki.php。這種情況下,要用戶記住文件名來訪問很麻煩。在.htaccess中可以輕易的設(shè)置新的缺省文件名:

DirectoryIndex 新的缺省文件名,也可以列出多個(gè),順序表明它們之間的優(yōu)先級(jí)別,例如:DirectoryIndex filename.html index.cgi index.pl default.htm

7. 使用.htaccess 訪止盜鏈。如果你網(wǎng)站上的一個(gè)圖片被別的N多的網(wǎng)站引用了,那么,這很有可能會(huì)導(dǎo)致你服務(wù)器的性能下降,使用下面的代碼可以保護(hù)某些熱門的鏈接不被過多的引用。

  1. Options +FollowSymlinks 
  2. # Protect Hotlinking 
  3. RewriteEngine On 
  4. RewriteCond %{HTTP_REFERER} !^$ 
  5. RewriteCond %{HTTP_REFERER} !^http://(www.)?domainname.com/ [nc] 
  6. RewriteRule .*.(gif|jpg|png)$ http://domainname.com/img/hotlink_f_o.png [nc] 

8. 設(shè)置網(wǎng)站的時(shí)區(qū) SetEnv TZ America/Houston

9. 阻止IP列表

有些時(shí)候,你需要以IP地址的方式阻止一些訪問。無論是對(duì)于一個(gè)IP地址還是一個(gè)網(wǎng)段,這都是一件非常簡(jiǎn)單的事情,如下所示:

  1. allow from all 
  2. deny from 145.186.14.122 
  3. deny from 124.15 
  4. Apache對(duì)于被拒絕的IP會(huì)返回403錯(cuò)誤。 

10. 把一些老的鏈接轉(zhuǎn)到新的鏈接上——搜索引擎優(yōu)化SEO

Redirect 301 /d/file.html http://www.htaccesselite.com/r/file.html

11. 為服務(wù)器管理員設(shè)置電子郵件。

ServerSignature EMail

SetEnv SERVER_ADMIN [email protected]

12. 阻止 User Agent 的所有請(qǐng)求

  1. ## .htaccess Code :: BEGIN 
  2. ## Block Bad Bots by user-Agent 
  3. SetEnvIfNoCase user-Agent ^FrontPage [NC,OR] 
  4. SetEnvIfNoCase user-Agent ^Java.* [NC,OR] 
  5. SetEnvIfNoCase user-Agent ^Microsoft.URL [NC,OR] 
  6. SetEnvIfNoCase user-Agent ^MSFrontPage [NC,OR] 
  7. SetEnvIfNoCase user-Agent ^Offline.Explorer [NC,OR] 
  8. SetEnvIfNoCase user-Agent ^[Ww]eb[Bb]andit [NC,OR] 
  9. SetEnvIfNoCase user-Agent ^Zeus [NC] 
  10. Order Allow,Deny 
  11. Allow from all 
  12. Deny from env=bad_bot 
  13. ## .htaccess Code :: END 

13. 把某些特殊的IP地址的請(qǐng)求重定向到別的站點(diǎn)

  1. ErrorDocument 403 http://www.youdomain.com 
  2. Order deny,allow 
  3. Deny from all 
  4. Allow from ip 
  5. Allow from ip 

14. 直接找開文件而不是下載 – 通常,我們打開網(wǎng)上文件的時(shí)候總是會(huì)出現(xiàn)一個(gè)對(duì)話框問我們是下載還是直接打開,使用下面的設(shè)置就不會(huì)出現(xiàn)這個(gè)問題了,直接打開。

  1. AddType application/octet-stream .pdf 
  2. AddType application/octet-stream .zip 
  3. AddType application/octet-stream .mov 

15. 修改文件類型 – 下面的示例可以讓任何的文件都成為PHP那么被服務(wù)器解釋。比如:myphp, cgi,phtml等。

ForceType application/x-httpd-php

SetHandler application/x-httpd-php

16. 阻止存取.htaccess 文件
 
  1. # secure htaccess file 
  2. order allow,deny 
  3. deny from all 
17. 保護(hù)服務(wù)器上的文件被存取
 
  1. # prevent access of a certain file order allow,deny 
  2. deny from all 

18. 阻止目錄瀏覽

  1. # disable directory browsing 
  2. Options All -Indexes 

19. 口令認(rèn)證 – 你可以創(chuàng)建一個(gè)文件用于認(rèn)證。下面是一個(gè)示例:

  1. # to protect a file 
  2. AuthType Basic 
  3. AuthName “Prompt” 
  4. AuthUserFile /home/path/.htpasswd 
  5. Require valid-user 
  6. # password-protect a directory 
  7. resides 
  8. AuthType basic 
  9. AuthName “This directory is protected” 
  10. AuthUserFile /home/path/.htpasswd 
  11. AuthGroupFile /dev/null 
  12. Require valid-user 

配置apache支持.htaccess

打開默認(rèn)站點(diǎn)配置文件(修改這就不要修改apache2.conf,因?yàn)閍pache2.conf會(huì)include這個(gè)配置文件)代碼:

gksu gedit /etc/apache2/sites-available/default

先介紹默認(rèn)配置,代碼:

  1. Options Indexes FollowSymLinks MultiViews 
  2. AllowOverride None 
  3. Order allow,deny 
  4. allow from all 

Options Indexes FollowSymLinks MultiViews 中

Indexed指當(dāng)沒能找到默認(rèn)網(wǎng)頁(如index.htm等)時(shí),將目錄內(nèi)容生成為含子目錄、文件超鏈接列表的網(wǎng)頁;

FollowSymLinks指若文件系統(tǒng)存在鏈接,則用URL訪問時(shí)也可按鏈接訪問,即若你創(chuàng)建目錄A的鏈接文件到目錄B,在B下雙擊鏈接文件A就可進(jìn)入A,同樣也可以在URL中用http://….B/A來訪問A;

MultiViews大致指服務(wù)器端可以根據(jù)實(shí)際情況進(jìn)行配置,如在目錄下找不到index.htm時(shí)會(huì)自動(dòng)尋找index.php,使用同上次訪問的某些設(shè)置。

AllowOverride 指目錄及其子目錄是否可以用.htaccess文件控制訪問權(quán)限

Order allow,deny 指Allow指令在 Deny指令之前被評(píng)估。缺省禁止所有訪問。任何不匹配Allow指令或者匹配 Deny指令的客戶都將被禁止訪問服務(wù)器。

解決辦法,在里面添加代碼:

  1. AllowOverride All 
  2. Order allow,deny 
  3. allow from 127.0.0.1 

首先的目錄路徑是apache實(shí)際訪問時(shí)的路徑,因?yàn)槲沂墙ophpmyadmin做了一個(gè)鏈接到/var/www/,所以apache訪問phpmyadmin是通過/var/www/phpmyadmin而不是/usr/share/phpmyadmin。而且如果你在多處用了鏈接,如還有目錄鏈接/var/www/admin/phpmyadmin,你就要再寫一個(gè)

其次,因?yàn)?var/www設(shè)置了allow from all,如果我們只想讓本機(jī)訪問phpmyadmin,那就要覆蓋掉原設(shè)置,代碼:

  1. Order allow,deny 
  2. allow from 127.0.0.1 

還要設(shè)置phpmyadmin及其子目錄允許.htaccess文件控制訪問權(quán)限代碼:

AllowOverride All

apache相關(guān)命令

關(guān)閉apache代碼:sudo /usr/sbin/apache2ctl stop

啟動(dòng)apache代碼:sudo /usr/sbin/apache2ctl start

重啟apache(有時(shí)候重啟不會(huì)改變?cè)O(shè)置,要先關(guān)閉、再啟動(dòng))代碼:

sudo /usr/sbin/apache2ctl restart

重啟firefox、apache再訪問就起效了。

如果phpmyadmin啟用了.htaccess權(quán)限控制,沒有在上級(jí)目錄列表中出現(xiàn),就通過URL直接訪問http://localhost/phpmyadmin

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 97porn| 在线1区| 国产一区二精品区在线 | 国产成人自拍av | 国产精品免费一区二区三区四区 | av成人在线免费观看 | 国产亚洲精品久久777777 | 国产一级毛片不卡 | 高清在线观看av | 最新一级毛片 | 色999国产| 免费国产在线视频 | 高潮娇喘嗯啊~文字 | 精品一区二区三区免费毛片爱 | 得得啪在线 | 日本xxxx色视频在线观看免费, | 中文字幕一区二区三区久久 | 国产成人精品视频在线 | 成人免费观看av | av老司机久久 | 欧美三级一级 | 黄色片免费在线播放 | 久草在线观看资源 | av日韩在线免费观看 | 欧美一级高潮 | 亚洲一区二区免费视频 | 亚洲日本欧美 | 原来神马影院手机版免费 | 成人三级黄色片 | 2023av在线视频| 性爱网站 | 性欧美xxxx极品摘花 | 黄色毛片一级 | 午夜精品久久久久久久爽 | 日韩大片在线永久观看视频网站免费 | 亚洲码无人客一区二区三区 | 精品免费久久 | 嫩草影院在线观看网站成人 | 91情侣在线偷精品国产 | 99欧美视频 | 特级毛片免费视频 |