ÂäµûßöÂç½ÇÅªÊØÚ¸²°
¶õÊ¢¤ÎÌÑÁÛ¡¤¿êÈø¤Îµ°À×
Ads by Google
¿·¤·¤¤µ»ö¤ò½ñ¤¯»ö¤Ç¹¹ð¤¬¾Ã¤»¤Þ¤¹¡£
嗯¡©
Ç¡题...
.htaccess设ÃÖ»ØÆî¡ÚíÛ¡Û
.htaccess ²ñ¹ßÄãAPACHEŪÀǽ¡¤½üÈó你对ÌÜ录权¸ÂÍ×µá×̹ⰿ¼ûÍ×ÐöUrlRewrite¡¤ÈÝ则ÉÔ¿äè¨你»ÈÍÑ.
Ç¡²Ì你ŪÉþ务´ïÌÜ录结构À§这样¡§
/usr/corsak/wwwroot/www/maindir
Ç¡²ÌApache»ØÎáÃæ开启λAllowOverride»Ù»ý.htaccessʸ·ï¡¤每访问°ì¼¡²ñ°Í¼¡ÙÓº÷¡§
/usr/corsak/wwwroot/www/maindir/.htaccess
/usr/corsak/wwwroot/www/.htaccess
/usr/corsak/wwwroot/.htaccess
²¼ÌÌÀ§°ì份详细ŪʸÛ㡤ÉÔÃÎÆ»哪ǯк哪ٲŪ¡£
°ø为ºß°ìФ¹ñ³°Åª¶õ间Ūº¬Ê¸·ï夹²¼´ÇÅþ这Ф.htaccess,搞ÉÔ懂À§´³½º么Ū,ºßÍî¸à论坛Ù²Åþ°ìÊÓʸ¾Ï,Àè转过ÍèÊüÃå,°Ê¹¡ºÆËýËý¸¦µæ,嘿嘿..
Apache»ØÆî: .htaccessʸ·ï
.htaccessʸ·ïÄó¶¡Î»针对ÌÜ录²þ变ÇÛÃÖŪÊýË¡¡£
* .htaccessʸ·ï
* ¹©ºî¸¶ÍýÏ»ÈÍÑÊýË¡
* »ÈÍÑ.htaccessʸ·ïŪ场¹ç
* »ØÎáŪÀ¸ÚÃ
* 认证举Îã
* Éþ务´ïüÊñ´Þ举Îã
* CGI举Îã
* µ¿难²òÅú
top
.htaccessʸ·ï
Áê关ÌÏ块 Áê关»ØÎá
* core
* mod_auth
* mod_cgi
* mod_include
* mod_mime
* AccessFileName
* AllowOverride
* Options
* AddHandler
* SetHandler
* AuthType
* AuthName
* AuthUserFile
* AuthGroupFile
* Require
top
¹©ºî¸¶ÍýÏ»ÈÍÑÊýË¡
.htaccessʸ·ï(°¿¼Ô"ʬÉÛ¼°ÇÛÃÖʸ·ï"Äó¶¡Î»针对ÌÜ录²þ变ÇÛÃÖŪÊýË¡¡¤ ¨¡¤ºß°ìФÆÃÄêŪʸÛãÌÜ录ÃæÊüÃÖ°ìФÊñ´Þ°ìФ°¿Â¿Ð¤»ØÎáŪʸ·ï¡¤ °ÊºîÍÑвº¡ÌÜ录µÚ¶½êÍ»ÒÌÜ录¡£
说ÌÀ¡§Ç¡²Ì¼ûÍ×»ÈÍÑ.htaccess°Ê³°ÅªÂ¶Â¾Ê¸·ï̾¡¤²Ä°ÊÍÑAccessFileName»ØÎáÍè²þ变¡£ ÎãÇ¡¡¤¼ûÍ×»ÈÍÑ.config¡¤则²Ä°ÊºßÉþ务´ïÇÛÃÖʸ·ïÃæ°Ä°Ê²¼ÊýË¡ÇÛÃÖ¡§
AccessFileName .config
°ô许Êüºß这º³Ê¸·ïÃæÅª»ØÎá¼èÑÓвAllowOverride»ØÎᡤ º¡»ØÎá°Ä类别ÑÓÄêλ.htaccessʸ·ïÃæ哪º³»ØÎáºÍÀ§ÍÚÃŪ¡£ Ç¡²Ì°ìФ»ØÎá°ô许Êüºß.htaccessʸ·ïÃæ¡¤则¡¤ºßËܼêÑÆÅª说ÌÀÃæ¡¤º¡»ØÎá²ñͰìФʤâµÃÊ¡¤ Â¶Ãæ说ÌÀλ为»Èº¡»ØÎáÀ¸Úü©É¬须ºßAllowOverride»ØÎáÃæ设ÃÖŪ值¡£
ÎãÇ¡¡¤ËܼêÑÆ对AddDefaultCharset»ØÎáŪ说ÌÀɽÌÀλ¡¤ º¡»ØÎá²Ä°ÊÍÑв.htaccessʸ·ï(见 Context°ì¹Ô)¡¤¼©Override°ì¹ÔÀ§"FileInfo"¡¤ Æá么为»È.htaccessÃæÅªº¡»ØÎáÍÚá¤则»ê¾¯Í×设ÃÖ"AllowOverride FileInfo"¡£
Îã»Ò:
Context: server config, virtual host, directory, .htaccess
Override: FileInfo
Ç¡²ÌÉÔǽ确Äê°ìФÆÃÄêŪ»ØÎáÀ§Èݰô许ÍÑв.htaccessʸ·ï¡¤ ²Ä°Ê查阅¼êÑÆÃæ对»ØÎáŪ说ÌÀ¡¤´ÇºßContext(¡È¾å²¼Ê¸¡É)¹ÔÃæÀ§ÈÝÍ".htaccess."¡£
top
»ÈÍÑ.htaccessʸ·ïŪ场¹ç
°ìÈ̾ðÑײ¼¡¤ÉÔ应该»ÈÍÑ.htaccessʸ·ï¡¤½üÈó你对¼çÉþ务´ïÇÛÃÖʸ·ïË×͸¼è权¸Â¡£ Ͱì种×̾ï见Ū误²ò¡¤认为ÍÑ户认证ÂþǽÄÌ过.htaccessʸ·ï实现¡¤Ã¢ÖõÉÔÀ§这样¡¤ ÇÄÍÑ户认证¼Ìºß¼çÉþ务´ïÇÛÃÖÃæÀ§´°Á´²Ä¹ÔŪ¡¤¼©³îÀ§°ì种×̹¥ÅªÊýË¡¡£
ºßÆâÍÆÄó¶¡¼Ô¼ûÍ×针对ÌÜ录²þ变Éþ务´ïŪÇÛÃÖ¼©对Éþ务´ï·Ï统Ë×Íroot权¸Â时¡¤ 则应该»ÈÍÑ.htaccessʸ·ï¡£Ç¡²ÌÉþ务´ï´ÉÍý员ÉÔØÅ°Õ频È˽¤²þÇÛÃÖ¡¤ 则²Ä°Ê°ô许ÍÑ户ÄÌ过.htaccessʸ·ï¼«¸Ê½¤²þÇÛÃÖ¡¤Ìà¶À§ISPºß°ìФ´ù´ï¾å ½É¼ç¿ФÍÑ户ãëÅÀ¡¤¼©Ëô´õ˾ÍÑ户²Ä°Ê¼«¸Ê²þ变ÇÛÃÖŪ¾ðÑײ¼¡£
虽Á³Ç¡º¡¡¤°ìÈÌÅÔ应该¿Ô²ÄǽÃÏÈòÌÈ»ÈÍÑ.htaccessʸ·ï¡£ Ǥ²¿´õ˾Êüºß.htaccessʸ·ïÃæÅªÇÛÃÖ¡¤ÅԲİÊÊüºß¼çÉþ务´ïŪÃÊÃæ¡¤¼©³î¹¹¹âÚá£
ÈòÌÈ»ÈÍÑ.htaccessʸ·ïÍ两Ф¼çÍ׸¶°ø¡£
¼óÀèÀ§Àǽ¡£ Ç¡²ÌAllowOverride°ô许»ÈÍÑ.htaccessʸ·ï¡¤ 则¡¤Apache¼ûÍ׺ß每ФÌÜ录Ãæ查Ù².htaccessʸ·ï¡¤°øº¡¡¤ÚÛ论À§ÈÝ¿¿ÀµÍÑÅþ¡¤ °ô许»ÈÍÑ.htaccessʸ·ïÅÔ²ñ导Ã×ÀǽŪ²¼¹ß¡£ 另³°¡¤每¼¡请µá°ìФ页ÌÌ时¡¤ÅÔ¼ûÍ×读¼è.htaccessʸ·ï¡£
还Í¡¤Apacheɬ须ºß½ê͹¹¹â级ŪÌÜ录Ãæ查Ù².htaccessʸ·ï¡¤ »È½êÍÍÚÃŪ»ØÎáÅÔµ¯ºîÍÑ(»²见how directives are applied.)¡¤½ê°Ê¡¤ Ç¡²ÌÍ对/www/htdocs/exampleÃæ页ÌÌŪ请µá¡¤Apacheɬ须查Ù²°Ê²¼Ê¸·ï¡§
/.htaccess
/www/.htaccess
/www/htdocs/.htaccess
/www/htdocs/example/.htaccess
¼©³î¡¤对º¡ÌÜ录°Ê³°Åª每Фʸ·ï访问¡¤还Í4ФÉí²ÃŪʸ·ï·Ï统访问¡¤Â¨»È这º³Ê¸·ïÅÔÉÔ¸ºß¡£ (Ãí°Õ¡¤这²Äǽ仅仅发À¸ºß / °ô许»ÈÍÑ.htaccessʸ·ïŪ¾ðÑײ¼¡¤虽Á³这种¾ðÑ×ÖõÉÔ¿¡£)
¶¼¡À§°ÂÁ´¡£ Ç¡º¡¡¤²ñ°ô许ÍÑ户½¤²þÉþ务´ïŪÇÛÃÖ¡¤²Äǽ²ñ导Ã×̤²Ã¸ÂÀ©Åª½¤²þ¡¤请认¿¿¹Í虑À§ÈÝ给ͽÍÑ户这样ŪÆÃ权¡£ âÀ§¡¤Ç¡²Ì给ͽÍÑ户较¾¯ÅªÆÃ权¼©ÉÔǽ满¶¼ûÍס¤则²ñ带Íè额³°Åªµ»术»Ù»ý请µá¡¤ ½ê°Ê¡¤É¬须ÌÀ确ÃϹð诉ÍÑ户Öá经给ͽ¾们Ū权¸Â¡¤说ÌÀAllowOverride设ÃÖŪ值¡¤ Öõ°ú导¾们»²阅Áê应Ū说ÌÀ¡¤°ÊÌÈÆü¹¡许¿Ëã烦¡£
Ãí°Õ¡¤ºß/www/htdocs/exampleÌÜ录²¼.htaccessʸ·ïÃæÊüÃÖ»ØÎᡤͿ¡¤ ºß¼çÉþ务´ïÇÛÃÖʸ·ïÃæÃÊÃæÊüÃÖÁêÆ±»ØÎᡤ À§ÅùÚÃŪ¡£¡§
/www/htdocs/exampleÃæÅª.htaccess:
/www/htdocs/exampleÃæ.htaccessʸ·ïŪÆâÍÆ
AddType text/example .exm
httpd.confʸ·ïÃæÅªÃÊ
AddType text/example .exm
âÀ§¡¤ÇÄ这ФÇÛÃÖÊüÃÖºßÉþ务´ïÇÛÃÖʸ·ïÃæ则¹¹²Ã¹âÚᤰø为Âþ¼ûÍ׺ßApache启动时读¼è°ì¼¡¡¤ ¼©ÉÔÀ§ºßÍʸ·ï请µá时每¼¡ÅÔ读¼è¡£
¾AllowOverride设ÃÖ为"none"²Ä°Ê´°Á´¶Ø»ß»ÈÍÑ.htaccessʸ·ï¡£
AllowOverride None
top
»ØÎáŪÀ¸ÚÃ
.htaccessʸ·ïÃæÅªÇÛÃÖ»ØÎáºîÍÑв.htaccessʸ·ï½êºßŪÌÜ录µÚ¶½êÍ»ÒÌÜ录¡¤ âÀ§¡¤×̽ÅÍ×¼ûÍ×记½»ÅªÀ§¡¤Â¶¹¹¹â级ŪÌÜ录Ìé²Äǽ²ñÍ.htaccessʸ·ï¡¤ ¼©»ØÎáÀ§°Ä查Ù²顺½ø°Í¼¡À¸Ú᤽ê°Ê¡¤ °ìФÆÃÄêÌÜ录²¼Åª.htaccessʸ·ïÃæÅª»ØÎá²Äǽ²ñʤâµÂ¶¹¹¹â级ÌÜ录ÃæÅª .htaccessʸ·ïŪ»ØÎᡤ¨¡¤ »ÒÌÜ录ÃæÅª»ØÎá²ñʤ⵹¹¹â级ÌÜ录°¿¼Ô¼çÉþ务´ïÇÛÃÖʸ·ïÃæÅª»ØÎá¡£
ÎãÇ¡:
ÌÜ录/www/htdocs/example1ÃæÅª.htaccessʸ·ïÍÇ¡²¼ÆâÍÆ¡§
Options +ExecCGI
(Ãí°Õ: ɬ须设ÃÖ"AllowOverride Options"°Ê°ô许ºß.htaccessʸ·ïÃæ»ÈÍÑ "Options"»ØÎá¡£)
ºßÌÜ录/www/htdocs/example1/example2ÃæÅª.htaccessʸ·ïÍÇ¡²¼ÆâÍÆ¡§
Options Includes
ͳвÂèÆóФ.htaccessʸ·ïŪ¸ºß¡¤/www/htdocs/example1/example2Ãæ ŪCGI执¹ÔÀ§ÉÔ°ô许Ū¡¤¼©Âþ°ô许Options Includes¡¤Õà´°Á´Ê¤âµÎ»Ç·Á°Åª设ÃÖ¡£
top
认证举Îã
Ç¡²Ì你为λÃÎÆ»Ç¡²¿认证¡¤Ä¾ÀÜк这Τ开»Ï´Ç¡¤Í×̽ÅÍ×Ū°ìÅÀ¼ûÍ×Ãí°Õ¡¤Í°ì种¾ï见Ū误²ò¡¤ 认为实现Ì©码认证ɬ须Í×»ÈÍÑ.htaccessʸ·ï¡¤Â¶实ÉÔÀ§这样¡£ ÇÄ认证»ØÎáÊüºß¼çÉþ务´ïÇÛÃÖʸ·ïŪÃÊÃæ¡¤À§°ìФ¹¹¹¥ÅªÊýË¡¡¤ ¼©.htaccessʸ·ï应该仅仅ÍÑвÚÛ权访问¼çÉþ务´ïÇÛÃÖʸ·ïŪ时¸õ¡£ »²见¾å½ÒŪ»ÈÍÑ.htaccessʸ·ïŪ场¹ç¡£
ͺ¡À¼ÌÀºßÀ衤ǡ²Ì你лÁ³¼ûÍ×»ÈÍÑ.htaccessʸ·ï¡¤请´Ç°Ê²¼说ÌÀ¡£
ɬ须设ÃÖ"AllowOverride AuthConfig"°Ê°ô许这º³»ØÎáÀ¸ÚÃ
.htaccessʸ·ïŪÆâÍÆ:
AuthType Basic
AuthName "Password Required"
AuthUserFile /www/passwords/password.file
AuthGroupFile /www/passwords/group.file
Require Group admins
Ãí°Õ¡¤É¬须设ÃÖAllowOverride AuthConfig°Ê°ô许这º³»ØÎáÀ¸ÚÃ
¹¹详细ŪÍ关¿È份识别ÏÂ认证Ū说ÌÀ¡¤请»²见authentication tutorial¡£
top
Éþ务´ïüÊñ´Þ举Îã
.htaccessʸ·ïŪ另°ìФ¾ï见ÍÑÅÓÀ§°ô许°ìФÆÃÄêÌÜ录ŪÉþ务´ïüÊñ´Þ(Server Side Includes)¡¤ ²Ä°Êºß¼ûÍ×ŪÌÜ录ÃæÊüÃÖ.htaccessʸ·ï¡¤ÖõÇ¡²¼ÇÛÃÖ¡§
Options +Includes
AddType text/html shtml
AddHandler server-parsed shtml
Ãí°Õ¡¤É¬须Ʊ时设ÃÖAllowOverride OptionsÏ AllowOverride FileInfo»È这º³»ØÎáÀ¸Úá£
¹¹详细ŪÍ关Éþ务´ïüÊñ´ÞŪ说ÌÀ¡¤请»²见SSI tutorial¡£
top
CGI举Îã
ºÇ¹¡¡¤²Ä°ÊÄÌ过.htaccessʸ·ï°ô许ºßÆÃÄêÌÜ录Ãæ执¹ÔCGIÄø½ø¡¤¼û°ÄÇ¡²¼ÇÛÃÖ¡§
Options +ExecCGI
AddHandler cgi-script cgi pl
另³°¡¤Ç¡²¼¡¤²Ä°Ê»È给ÄêÌÜ录²¼½êÍʸ·ïÈï视为CGIÄø½ø¡§
Options +ExecCGI
SetHandler cgi-script
Ãí°Õ¡¤É¬须设ÃÖAllowOverride Options»È这º³»ØÎáÀ¸Úá£
¹¹详细ŪÍ关CGI编ÄøÏÂÇÛÃÖŪ说ÌÀ¡¤请»²见CGI tutorial¡£
top
µ¿难²òÅú
Ç¡²Ìºß.htaccessʸ·ïÃæ¼ÌÆþλÇÛÃÖ»ØÎáâÉÔµ¯ºîÍÑ¡¤²ÄǽÍ¿种¸¶°ø¡£
ºÇ¾ï见Ū¸¶°øÀ§¡¤AllowOverride»ØÎáË×ÍÈïÀµ确设ÃÖ¡¤ ɬ须确ÊÝË×Í对º¡Ê¸·ï¶è°è设ÃÖAllowOverride None¡£Í°ìФ×̹¥Åª测试ÊýË¡¡¤Â¨¡¤ ºß.htaccessʸ·ï¿ïÊØùá²ÃÅÀË×ÍÑŪÆâÍÆ¡¤Ç¡²ÌÉþ务´ïË×ÍÊÖ²óλ°ìФ错误¾Ã©¡¤ Æá么ÑܸòİÊÃÇÄê设ÃÖλAllowOverride None¡£
ºß访问ʸÛã时¡¤Ç¡²ÌÚÀÅþÉþ务´ïŪ½Ð错¾Ã©¡¤应该检查ApacheŪ½Ð错Æü»Ö¡¤ ²Ä°ÊÃÎÆ».htaccessʸ·ïÃæ哪º³»ØÎáÀ§ÉÔ°ô许»ÈÍÑŪ¡¤Ìé²Äǽ²ñ发现¼ûÍ×纠ÀµÅª语Ë¡错误¡£
.htaccessʸ·ï»ÈÍѼêÑÆ
- .htaccessʸ·ï(°¿¼Ô"ʬÉÛ¼°ÇÛÃÖʸ·ï"Äó¶¡Î»针对ÌÜ录²þ变ÇÛÃÖŪÊýË¡¡¤ ¨¡¤ºß°ìФÆÃÄêŪʸÛãÌÜ录ÃæÊüÃÖ°ìФÊñ´Þ°ìФ°¿Â¿Ð¤»ØÎáŪʸ·ï¡¤°ÊºîÍÑвº¡ÌÜ录µÚ¶½êÍ»ÒÌÜ录¡£ºî为ÍÑ户¡¤½êǽ»ÈÍÑŪ̿Îá¼õÅþ¸ÂÀ©¡£´ÉÍý员²Ä°ÊÄÌ过ApacheŪAllowOverride»ØÎáÍè设ÃÖ¡£
- »ÒÌÜ录ÃæÅª»ØÎá²ñʤ⵹¹¹â级ÌÜ录°¿¼Ô¼çÉþ务´ïÇÛÃÖʸ·ïÃæÅª»ØÎá¡£
- .htaccessɬ须°ÊASCIIÌϼ°¾å传¡¤ºÇ¹¥¾Â¶权¸Â设ÃÖ为644¡£
错误ʸÛãŪÄê°Ì
¾ïÍÑŪµÒ户ü请µá错误ÊÖ²óÂå码¡§
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
¾ï见ŪÉþ务´ï错误ÊÖ²óÂå码¡§
500 Internal Server Error
ÍÑ户²Ä°ÊÍøÍÑ.htaccess»ØÄ꼫¸Ê»öÀèÀ©ºî¹¥Åª错误ÄóÀÃ页ÌÌ¡£°ìÈ̾ðÑײ¼¡¤¿Í们²Ä°Ê专门设Ω°ìФÌÜ录¡¤ÎãÇ¡errorsÊüÃÖ这º³页ÌÌ¡£Á³¹¡ºÆ.htaccessÃæ¡¤²ÃÆþÇ¡²¼Åª»ØÎá¡§
ErrorDocument 404 /errors/notfound.html
ErrorDocument 500 /errors/internalerror.html
°ì¾ò»ØÎá°ì¹Ô¡£¾å½ÒÂè°ì¾ò»ØÎáŪ°Õ»×À§对в404¡¤Ìé½¢À§Ë×ÍÙ²Åþ½ê¼ûÍ×ŪʸÛãŪ时¸õÆÀ显¼¨页ÌÌ为/errorsÌÜ录²¼Åªnotfound.html页ÌÌ¡£ÉÔ难´Ç½Ð语Ë¡³Ê¼°为¡§
ErrorDocument 错误Âå码 /ÌÜ录̾/ʸ·ï̾.扩Ÿ̾
Ç¡²Ì½ê¼ûÍ×Äó¼¨Åª¿®Â©×̾¯Åª话¡¤ÉÔɬ专门À©ºî页ÌÌ¡¤Ä¾Àܺ߻ØÎáÃæ»ÈÍÑHTML¹æÎ»¡¤ÎãÇ¡²¼ÌÌ这ФÎã»Ò¡§
ErrorDocument 401 "
ʸÛã访问Ū̩码ÊÝ护
Í×ÍøÍÑ.htaccess对˿ФÌÜ录²¼ÅªÊ¸Ûã设Äê访问ÍÑ户ÏÂ对应Ū̩码¡¤¼óÀèÍ×ÐöŪÀ§À¸À®°ìФ.htpasswdŪʸËÜʸÛ㡤ÎãÇ¡¡§
zheng:y4E7Ep8e7EYV
这Τ̩码经过²ÃÌ©¡¤ÍÑ户²Ä°Ê¼«¸ÊÙ²º³¹©¶ñ¾Ì©码²ÃÌ©À®.htaccess»Ù»ýŪ编码¡£该ʸÛãºÇ¹¥ÉÔÍ×ÊüºßwwwÌÜ录²¼¡¤·ú议Êüºßwwwº¬ÌÜ录ʸÛãÇ·³°¡¤这样¹¹为°ÂÁ´º³¡£
Íλ¼ø权ÍÑ户ʸÛ㡤²Ä°Êºß.htaccessÃæ²ÃÆþÇ¡²¼»ØÎáλ¡§
AuthUserFile .htpasswdŪÉþ务´ïÌÜ录
AuthGroupFile /dev/null ¡Ê¼ûÍ×¼ø权访问ŪÌÜ录¡Ë
AuthName EnterPassword
AuthType Basic ¡Ê¼ø权类·¿¡Ë
require user wsabstract ¡Ê°ô许访问ŪÍÑ户¡¤Ç¡²Ì´õË¾É½Ãæ½êÍÍÑ户ÅÔ°ô许¡¤²Ä°Ê»ÈÍÑ require valid-user¡Ë
Ãí¡¤³ç¹æÉôʬ为³Ø习时¸õ¼«¸Êź²ÃŪÃí释
µñ绝Í輫˿ФIPŪ访问
Ç¡²Ì²æÉÔÁÛ˿ФÀ¯ÉÜÉô门访问Åþ²æÅªãëÅÀŪÆâÍÆ¡¤Æá²Ä°ÊÄÌ过.htaccessÃæ²ÃÆþ该Éô门ŪIP¼©¾Õà们µñ绝ºß³°¡£
ÎãÇ¡¡§
order allow,deny
deny from 210.10.56.32
deny from 219.5.45.
allow from all
ÂèÆó¹Ôµñ绝˿ФIP¡¤Âè»°¹Ôµñ绝˿ФIPÃÊ¡¤Ìé½¢À§219.5.45.0~219.2.45.255
ÁÛÍ×µñ绝½êͿ͡©ÍÑdeny from all¹¥Î»¡£ÉÔ»ßÍÑIP¡¤Ìé²Ä°ÊÍѰè̾Íè设Äê¡£
ÊÝ护.htaccessʸÛã
ºß»ÈÍÑ.htaccessÍè设ÃÖÌÜ录Ū̩码ÊÝ护时¡¤ÕàÊñ´Þλ̩码ʸ·ïŪϩ·Â¡£Ðº°ÂÁ´¹Í虑¡¤ÍɬÍ×ÇÄ.htaccessÌéÊÝ护µ¯Í衤ÉÔ让别¿Í´ÇÅþÂ¶ÃæÅªÆâÍÆ¡£虽Á³²Ä°ÊÍѶ¾Êý¼°ÐöÅþ这ÅÀ¡¤ÈæÇ¡Ê¸ÛãŪ权¸Â¡£ÉÔ过¡¤.htaccessËÜ¿ÈÌéǽÐöÅþ¡¤Âþ¼û²ÃÆþÇ¡²¼Åª»ØÎá¡§
order allow,deny
deny from all
URL转¸þ
²æ们²Äǽ对æ¦ãë进¹Ô½Å¿·规划¡¤¾Ê¸Ûã进¹Ôλ迁°Ü¡¤°¿¼Ô¹¹²þλÌÜ录¡£这时¸õ¡¤Í輫ÙÓº÷°úú²°¿¼Ô¶¾æ¦ãë链ÀÜ过ÍèŪ访问½¢²Äǽ½Ð错¡£这种¾ðÑײ¼¡¤²Ä°ÊÄÌ过Ç¡²¼»ØÎáÍè´°À®µìŪURL¼«动转¸þÅþ¿·ÅªÃÏÔ®¡§
Redirect /µìÌÜ录/µìʸÛã̾ ¿·Ê¸ÛãŪÃÏÔ®
°¿¼ÔÀ°Ð¤ÌÜ录Ū转¸þ¡§
Redirect µìÌÜ录 ¿·ÌÜ录
²þ变åþ¾ÊŪ¼ó页ʸ·ï
°ìÈ̾ðÑײ¼åþ¾ÊŪ¼ó页ʸ·ï̾Ídefault¡¢indexÅù¡£ÉÔ过¡¤Íº³时¸õÌÜ录ÃæË×Íåþ¾Êʸ·ï¡¤¼©À§Ë¿Ð¤ÆÃÄêŪʸ·ï̾¡¤ÈæÇ¡ºßpmwikiÃæÀ§pmwiki.php¡£这种¾ðÑײ¼¡¤Í×ÍÑ户记½»Ê¸·ï̾Íè访问×ÌËã烦¡£ºß.htaccessÃæ²Ä°Ê轻°×Ū设ÃÖ¿·Åªåþ¾Êʸ·ï̾¡§
DirectoryIndex ¿·Åªåþ¾Êʸ·ï̾
Ìé²Ä°ÊÎó½Ð¿Ф¡¤顺½øÉ½ÌÀÕà们Ç·间Ū优Àè级别¡¤ÎãÇ¡¡§
DirectoryIndex filename.html index.cgi index.pl default.htm
ËÉ»ßÅð链
Ç¡²ÌÉÔ´î欢别¿Íºß¾们Ūæ¦页¾å连Àܼ«¸ÊŪ图ÊÒ¡¢Ê¸ÛãŪ话¡¤Ìé²Ä°ÊÄÌ过htaccessŪ»ØÎáÍèÐöÅþ¡£
½ê¼ûÍ×Ū»ØÎáÇ¡²¼¡§
RewriteEngine on
RewriteCond % !^$
RewriteCond % !^[url]http://(www/.)?mydomain.com/.[/url]*$ [NC]
RewriteRule \.(gif|jpg)$ - [F]
Ç¡²Ì觉ÆÀ让别¿ÍŪ页ÌÌ开ФŷãÙÉÔ¹¥´Ç¡¤Æá²Ä°ÊÍѰì张图ÊÒÍèÂåÂØ¡§
RewriteEngine on
RewriteCond % !^$
RewriteCond % !^[url]http://(www/.)?mydomain.com/.[/url]*$ [NC]
RewriteRule \.(gif|jpg)$ [url]http://www.mydomain.com/[/url]ÂØÂå图ÊÒʸ·ï̾ [R,L]
- .htaccessʸ·ï(°¿¼Ô"ʬÉÛ¼°ÇÛÃÖʸ·ï"Äó¶¡Î»针对ÌÜ录²þ变ÇÛÃÖŪÊýË¡¡¤ ¨¡¤ºß°ìФÆÃÄêŪʸÛãÌÜ录ÃæÊüÃÖ°ìФÊñ´Þ°ìФ°¿Â¿Ð¤»ØÎáŪʸ·ï¡¤ °ÊºîÍÑвº¡ÌÜ录µÚ¶½êÍ»ÒÌÜ录¡£ºî为ÍÑ户¡¤½êǽ»ÈÍÑŪ̿Îá¼õÅþ¸ÂÀ©¡£´ÉÍý员²Ä°ÊÄÌ过ApacheŪAllowOverride»ØÎáÍè设ÃÖ¡£
- »ÒÌÜ录ÃæÅª»ØÎá²ñʤ⵹¹¹â级ÌÜ录°¿¼Ô¼çÉþ务´ïÇÛÃÖʸ·ïÃæÅª»ØÎá¡£
- .htaccessɬ须°ÊASCIIÌϼ°¾å传¡¤ºÇ¹¥¾Â¶权¸Â设ÃÖ为644¡£
错误ʸÛãŪÄê°Ì
¾ïÍÑŪµÒ户ü请µá错误ÊÖ²óÂå码¡§
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
¾ï见ŪÉþ务´ï错误ÊÖ²óÂå码¡§
500 Internal Server Error
ÍÑ户²Ä°ÊÍøÍÑ.htaccess»ØÄ꼫¸Ê»öÀèÀ©ºî¹¥Åª错误ÄóÀÃ页ÌÌ¡£°ìÈ̾ðÑײ¼¡¤¿Í们²Ä°Ê专门设Ω°ìФÌÜ录¡¤ÎãÇ¡errorsÊüÃÖ这º³页ÌÌ¡£Á³¹¡ºÆ.htaccessÃæ¡¤²ÃÆþÇ¡²¼Åª»ØÎá¡§
ErrorDocument 404 /errors/notfound.html
ErrorDocument 500 /errors/internalerror.html
°ì¾ò»ØÎá°ì¹Ô¡£¾å½ÒÂè°ì¾ò»ØÎáŪ°Õ»×À§对в404¡¤Ìé½¢À§Ë×ÍÙ²Åþ½ê¼ûÍ×ŪʸÛãŪ时¸õÆÀ显¼¨页ÌÌ为/errorsÌÜ录²¼Åªnotfound.html页ÌÌ¡£ÉÔ难´Ç½Ð语Ë¡³Ê¼°为¡§
ErrorDocument 错误Âå码 /ÌÜ录̾/ʸ·ï̾.扩Ÿ̾
Ç¡²Ì½ê¼ûÍ×Äó¼¨Åª¿®Â©×̾¯Åª话¡¤ÉÔɬ专门À©ºî页ÌÌ¡¤Ä¾Àܺ߻ØÎáÃæ»ÈÍÑHTML¹æÎ»¡¤ÎãÇ¡²¼ÌÌ这ФÎã»Ò¡§
ErrorDocument 401 "
ʸÛã访问Ū̩码ÊÝ护
Í×ÍøÍÑ.htaccess对˿ФÌÜ录²¼ÅªÊ¸Ûã设Äê访问ÍÑ户ÏÂ对应Ū̩码¡¤¼óÀèÍ×ÐöŪÀ§À¸À®°ìФ.htpasswdŪʸËÜʸÛ㡤ÎãÇ¡¡§
zheng:y4E7Ep8e7EYV
这Τ̩码经过²ÃÌ©¡¤ÍÑ户²Ä°Ê¼«¸ÊÙ²º³¹©¶ñ¾Ì©码²ÃÌ©À®.htaccess»Ù»ýŪ编码¡£该ʸÛãºÇ¹¥ÉÔÍ×ÊüºßwwwÌÜ录²¼¡¤·ú议Êüºßwwwº¬ÌÜ录ʸÛãÇ·³°¡¤这样¹¹为°ÂÁ´º³¡£
Íλ¼ø权ÍÑ户ʸÛ㡤²Ä°Êºß.htaccessÃæ²ÃÆþÇ¡²¼»ØÎáλ¡§
AuthUserFile .htpasswdŪÉþ务´ïÌÜ录
AuthGroupFile /dev/null ¡Ê¼ûÍ×¼ø权访问ŪÌÜ录¡Ë
AuthName EnterPassword
AuthType Basic ¡Ê¼ø权类·¿¡Ë
require user wsabstract ¡Ê°ô许访问ŪÍÑ户¡¤Ç¡²Ì´õË¾É½Ãæ½êÍÍÑ户ÅÔ°ô许¡¤²Ä°Ê»ÈÍÑ require valid-user¡Ë
Ãí¡¤³ç¹æÉôʬ为³Ø习时¸õ¼«¸Êź²ÃŪÃí释
µñ绝Í輫˿ФIPŪ访问
Ç¡²Ì²æÉÔÁÛ˿ФÀ¯ÉÜÉô门访问Åþ²æÅªãëÅÀŪÆâÍÆ¡¤Æá²Ä°ÊÄÌ过.htaccessÃæ²ÃÆþ该Éô门ŪIP¼©¾Õà们µñ绝ºß³°¡£
ÎãÇ¡¡§
order allow,deny
deny from 210.10.56.32
deny from 219.5.45.
allow from all
ÂèÆó¹Ôµñ绝˿ФIP¡¤Âè»°¹Ôµñ绝˿ФIPÃÊ¡¤Ìé½¢À§219.5.45.0~219.2.45.255
ÁÛÍ×µñ绝½êͿ͡©ÍÑdeny from all¹¥Î»¡£ÉÔ»ßÍÑIP¡¤Ìé²Ä°ÊÍѰè̾Íè设Äê¡£
ÊÝ护.htaccessʸÛã
ºß»ÈÍÑ.htaccessÍè设ÃÖÌÜ录Ū̩码ÊÝ护时¡¤ÕàÊñ´Þλ̩码ʸ·ïŪϩ·Â¡£Ðº°ÂÁ´¹Í虑¡¤ÍɬÍ×ÇÄ.htaccessÌéÊÝ护µ¯Í衤ÉÔ让别¿Í´ÇÅþÂ¶ÃæÅªÆâÍÆ¡£虽Á³²Ä°ÊÍѶ¾Êý¼°ÐöÅþ这ÅÀ¡¤ÈæÇ¡Ê¸ÛãŪ权¸Â¡£ÉÔ过¡¤.htaccessËÜ¿ÈÌéǽÐöÅþ¡¤Âþ¼û²ÃÆþÇ¡²¼Åª»ØÎá¡§
order allow,deny
deny from all
URL转¸þ
²æ们²Äǽ对æ¦ãë进¹Ô½Å¿·规划¡¤¾Ê¸Ûã进¹Ôλ迁°Ü¡¤°¿¼Ô¹¹²þλÌÜ录¡£这时¸õ¡¤Í輫ÙÓº÷°úú²°¿¼Ô¶¾æ¦ãë链ÀÜ过ÍèŪ访问½¢²Äǽ½Ð错¡£这种¾ðÑײ¼¡¤²Ä°ÊÄÌ过Ç¡²¼»ØÎáÍè´°À®µìŪURL¼«动转¸þÅþ¿·ÅªÃÏÔ®¡§
Redirect /µìÌÜ录/µìʸÛã̾ ¿·Ê¸ÛãŪÃÏÔ®
°¿¼ÔÀ°Ð¤ÌÜ录Ū转¸þ¡§
Redirect µìÌÜ录 ¿·ÌÜ录
²þ变åþ¾ÊŪ¼ó页ʸ·ï
°ìÈ̾ðÑײ¼åþ¾ÊŪ¼ó页ʸ·ï̾Ídefault¡¢indexÅù¡£ÉÔ过¡¤Íº³时¸õÌÜ录ÃæË×Íåþ¾Êʸ·ï¡¤¼©À§Ë¿Ð¤ÆÃÄêŪʸ·ï̾¡¤ÈæÇ¡ºßpmwikiÃæÀ§pmwiki.php¡£这种¾ðÑײ¼¡¤Í×ÍÑ户记½»Ê¸·ï̾Íè访问×ÌËã烦¡£ºß.htaccessÃæ²Ä°Ê轻°×Ū设ÃÖ¿·Åªåþ¾Êʸ·ï̾¡§
DirectoryIndex ¿·Åªåþ¾Êʸ·ï̾
Ìé²Ä°ÊÎó½Ð¿Ф¡¤顺½øÉ½ÌÀÕà们Ç·间Ū优Àè级别¡¤ÎãÇ¡¡§
DirectoryIndex filename.html index.cgi index.pl default.htm
ËÉ»ßÅð链
Ç¡²ÌÉÔ´î欢别¿Íºß¾们Ūæ¦页¾å连Àܼ«¸ÊŪ图ÊÒ¡¢Ê¸ÛãŪ话¡¤Ìé²Ä°ÊÄÌ过htaccessŪ»ØÎáÍèÐöÅþ¡£
½ê¼ûÍ×Ū»ØÎáÇ¡²¼¡§
RewriteEngine on
RewriteCond % !^$
RewriteCond % !^[url]http://(www/.)?mydomain.com/.[/url]*$ [NC]
RewriteRule \.(gif|jpg)$ - [F]
Ç¡²Ì觉ÆÀ让别¿ÍŪ页ÌÌ开ФŷãÙÉÔ¹¥´Ç¡¤Æá²Ä°ÊÍѰì张图ÊÒÍèÂåÂØ¡§
RewriteEngine on
RewriteCond % !^$
RewriteCond % !^[url]http://(www/.)?mydomain.com/.[/url]*$ [NC]
RewriteRule \.(gif|jpg)$ [url]http://www.mydomain.com/[/url]ÂØÂå图ÊÒʸ·ï̾ [R,L]
°ì. ¼«Äê义404,401,Åù错误
1.
¼óÀè·úΩ°ìФ̾为: .htaccess
¼ÌÆþ°Ê²¼ÆâÍÆ
ErrorDocument 401 /err401.html
ErrorDocument 402 /err402.html
ErrorDocument 403 /err403.html
ErrorDocument 404 /err404.html
Â¶Ãæ,401,402,403,404Âåɽ错误类·¿,
¹¡ÌÌŪerr401.htmlÂåɽ¶Áê对应Ū页ÌÌ,
2.
ʬ别·úΩ̾»ú为:
err401.html,err402.html.........
Ūʸ·ï,Åö½Ð现对应Ū错误Ū时¸õ,
½¢²ñ»Ø¸þ对ÌÌŪ页ÌÌ
3.
传Åþº¬ÌÜ录²¼,
Ìé½¢À§ public_html ÌÜ录²¼
°ìÀÚ½¢OKλ
Æó. µîÙÜÖø¹ð
·úФʸ·ï̾ .htaccess Ūʸ·ï, ʸ·ïÆâÍÆÇ¡²¼:
LayoutIgnoreURI *.php
LayoutIgnoreURI *.cgi
LayoutIgnoreURI *.htm
LayoutIgnoreURI *.html
¾ .htaccess ¾å传»ê¶õ间Ū Public_html ÌÜ录²¼,¨²ÄµîÙÜÖø¹ð!
Ãí°Õ *.* 这Τ..ÁÛµîÆá种扩Ÿ̾Ūʸ·ï,½¢¼Ì¾åÆá种ʸ·ïŪ扩Ÿ̾!
这ФÀ§ºÇ简单ŪÊýË¡¡¤ÂþÍ׺ߺ¬ÌÜ录²Ã这Фʸ·ï¡¤Æá么À°Ð¤æ¦ãëÅÔÉÔ²ñÍÖø¹ð!
Ç¡²Ì你ŪÉþ务´ïÌÜ录结构À§这样¡§
/usr/corsak/wwwroot/www/maindir
Ç¡²ÌApache»ØÎáÃæ开启λAllowOverride»Ù»ý.htaccessʸ·ï¡¤每访问°ì¼¡²ñ°Í¼¡ÙÓº÷¡§
/usr/corsak/wwwroot/www/maindir/.htaccess
/usr/corsak/wwwroot/www/.htaccess
/usr/corsak/wwwroot/.htaccess
²¼ÌÌÀ§°ì份详细ŪʸÛ㡤ÉÔÃÎÆ»哪ǯк哪ٲŪ¡£
°ø为ºß°ìФ¹ñ³°Åª¶õ间Ūº¬Ê¸·ï夹²¼´ÇÅþ这Ф.htaccess,搞ÉÔ懂À§´³½º么Ū,ºßÍî¸à论坛Ù²Åþ°ìÊÓʸ¾Ï,Àè转过ÍèÊüÃå,°Ê¹¡ºÆËýËý¸¦µæ,嘿嘿..
Apache»ØÆî: .htaccessʸ·ï
.htaccessʸ·ïÄó¶¡Î»针对ÌÜ录²þ变ÇÛÃÖŪÊýË¡¡£
* .htaccessʸ·ï
* ¹©ºî¸¶ÍýÏ»ÈÍÑÊýË¡
* »ÈÍÑ.htaccessʸ·ïŪ场¹ç
* »ØÎáŪÀ¸ÚÃ
* 认证举Îã
* Éþ务´ïüÊñ´Þ举Îã
* CGI举Îã
* µ¿难²òÅú
top
.htaccessʸ·ï
Áê关ÌÏ块 Áê关»ØÎá
* core
* mod_auth
* mod_cgi
* mod_include
* mod_mime
* AccessFileName
* AllowOverride
* Options
* AddHandler
* SetHandler
* AuthType
* AuthName
* AuthUserFile
* AuthGroupFile
* Require
top
¹©ºî¸¶ÍýÏ»ÈÍÑÊýË¡
.htaccessʸ·ï(°¿¼Ô"ʬÉÛ¼°ÇÛÃÖʸ·ï"Äó¶¡Î»针对ÌÜ录²þ变ÇÛÃÖŪÊýË¡¡¤ ¨¡¤ºß°ìФÆÃÄêŪʸÛãÌÜ录ÃæÊüÃÖ°ìФÊñ´Þ°ìФ°¿Â¿Ð¤»ØÎáŪʸ·ï¡¤ °ÊºîÍÑвº¡ÌÜ录µÚ¶½êÍ»ÒÌÜ录¡£
说ÌÀ¡§Ç¡²Ì¼ûÍ×»ÈÍÑ.htaccess°Ê³°ÅªÂ¶Â¾Ê¸·ï̾¡¤²Ä°ÊÍÑAccessFileName»ØÎáÍè²þ变¡£ ÎãÇ¡¡¤¼ûÍ×»ÈÍÑ.config¡¤则²Ä°ÊºßÉþ务´ïÇÛÃÖʸ·ïÃæ°Ä°Ê²¼ÊýË¡ÇÛÃÖ¡§
AccessFileName .config
°ô许Êüºß这º³Ê¸·ïÃæÅª»ØÎá¼èÑÓвAllowOverride»ØÎᡤ º¡»ØÎá°Ä类别ÑÓÄêλ.htaccessʸ·ïÃæ哪º³»ØÎáºÍÀ§ÍÚÃŪ¡£ Ç¡²Ì°ìФ»ØÎá°ô许Êüºß.htaccessʸ·ïÃæ¡¤则¡¤ºßËܼêÑÆÅª说ÌÀÃæ¡¤º¡»ØÎá²ñͰìФʤâµÃÊ¡¤ Â¶Ãæ说ÌÀλ为»Èº¡»ØÎáÀ¸Úü©É¬须ºßAllowOverride»ØÎáÃæ设ÃÖŪ值¡£
ÎãÇ¡¡¤ËܼêÑÆ对AddDefaultCharset»ØÎáŪ说ÌÀɽÌÀλ¡¤ º¡»ØÎá²Ä°ÊÍÑв.htaccessʸ·ï(见 Context°ì¹Ô)¡¤¼©Override°ì¹ÔÀ§"FileInfo"¡¤ Æá么为»È.htaccessÃæÅªº¡»ØÎáÍÚá¤则»ê¾¯Í×设ÃÖ"AllowOverride FileInfo"¡£
Îã»Ò:
Context: server config, virtual host, directory, .htaccess
Override: FileInfo
Ç¡²ÌÉÔǽ确Äê°ìФÆÃÄêŪ»ØÎáÀ§Èݰô许ÍÑв.htaccessʸ·ï¡¤ ²Ä°Ê查阅¼êÑÆÃæ对»ØÎáŪ说ÌÀ¡¤´ÇºßContext(¡È¾å²¼Ê¸¡É)¹ÔÃæÀ§ÈÝÍ".htaccess."¡£
top
»ÈÍÑ.htaccessʸ·ïŪ场¹ç
°ìÈ̾ðÑײ¼¡¤ÉÔ应该»ÈÍÑ.htaccessʸ·ï¡¤½üÈó你对¼çÉþ务´ïÇÛÃÖʸ·ïË×͸¼è权¸Â¡£ Ͱì种×̾ï见Ū误²ò¡¤认为ÍÑ户认证ÂþǽÄÌ过.htaccessʸ·ï实现¡¤Ã¢ÖõÉÔÀ§这样¡¤ ÇÄÍÑ户认证¼Ìºß¼çÉþ务´ïÇÛÃÖÃæÀ§´°Á´²Ä¹ÔŪ¡¤¼©³îÀ§°ì种×̹¥ÅªÊýË¡¡£
ºßÆâÍÆÄó¶¡¼Ô¼ûÍ×针对ÌÜ录²þ变Éþ务´ïŪÇÛÃÖ¼©对Éþ务´ï·Ï统Ë×Íroot权¸Â时¡¤ 则应该»ÈÍÑ.htaccessʸ·ï¡£Ç¡²ÌÉþ务´ï´ÉÍý员ÉÔØÅ°Õ频È˽¤²þÇÛÃÖ¡¤ 则²Ä°Ê°ô许ÍÑ户ÄÌ过.htaccessʸ·ï¼«¸Ê½¤²þÇÛÃÖ¡¤Ìà¶À§ISPºß°ìФ´ù´ï¾å ½É¼ç¿ФÍÑ户ãëÅÀ¡¤¼©Ëô´õ˾ÍÑ户²Ä°Ê¼«¸Ê²þ变ÇÛÃÖŪ¾ðÑײ¼¡£
虽Á³Ç¡º¡¡¤°ìÈÌÅÔ应该¿Ô²ÄǽÃÏÈòÌÈ»ÈÍÑ.htaccessʸ·ï¡£ Ǥ²¿´õ˾Êüºß.htaccessʸ·ïÃæÅªÇÛÃÖ¡¤ÅԲİÊÊüºß¼çÉþ务´ïŪ
ÈòÌÈ»ÈÍÑ.htaccessʸ·ïÍ两Ф¼çÍ׸¶°ø¡£
¼óÀèÀ§Àǽ¡£ Ç¡²ÌAllowOverride°ô许»ÈÍÑ.htaccessʸ·ï¡¤ 则¡¤Apache¼ûÍ׺ß每ФÌÜ录Ãæ查Ù².htaccessʸ·ï¡¤°øº¡¡¤ÚÛ论À§ÈÝ¿¿ÀµÍÑÅþ¡¤ °ô许»ÈÍÑ.htaccessʸ·ïÅÔ²ñ导Ã×ÀǽŪ²¼¹ß¡£ 另³°¡¤每¼¡请µá°ìФ页ÌÌ时¡¤ÅÔ¼ûÍ×读¼è.htaccessʸ·ï¡£
还Í¡¤Apacheɬ须ºß½ê͹¹¹â级ŪÌÜ录Ãæ查Ù².htaccessʸ·ï¡¤ »È½êÍÍÚÃŪ»ØÎáÅÔµ¯ºîÍÑ(»²见how directives are applied.)¡¤½ê°Ê¡¤ Ç¡²ÌÍ对/www/htdocs/exampleÃæ页ÌÌŪ请µá¡¤Apacheɬ须查Ù²°Ê²¼Ê¸·ï¡§
/.htaccess
/www/.htaccess
/www/htdocs/.htaccess
/www/htdocs/example/.htaccess
¼©³î¡¤对º¡ÌÜ录°Ê³°Åª每Фʸ·ï访问¡¤还Í4ФÉí²ÃŪʸ·ï·Ï统访问¡¤Â¨»È这º³Ê¸·ïÅÔÉÔ¸ºß¡£ (Ãí°Õ¡¤这²Äǽ仅仅发À¸ºß / °ô许»ÈÍÑ.htaccessʸ·ïŪ¾ðÑײ¼¡¤虽Á³这种¾ðÑ×ÖõÉÔ¿¡£)
¶¼¡À§°ÂÁ´¡£ Ç¡º¡¡¤²ñ°ô许ÍÑ户½¤²þÉþ务´ïŪÇÛÃÖ¡¤²Äǽ²ñ导Ã×̤²Ã¸ÂÀ©Åª½¤²þ¡¤请认¿¿¹Í虑À§ÈÝ给ͽÍÑ户这样ŪÆÃ权¡£ âÀ§¡¤Ç¡²Ì给ͽÍÑ户较¾¯ÅªÆÃ权¼©ÉÔǽ满¶¼ûÍס¤则²ñ带Íè额³°Åªµ»术»Ù»ý请µá¡¤ ½ê°Ê¡¤É¬须ÌÀ确ÃϹð诉ÍÑ户Öá经给ͽ¾们Ū权¸Â¡¤说ÌÀAllowOverride设ÃÖŪ值¡¤ Öõ°ú导¾们»²阅Áê应Ū说ÌÀ¡¤°ÊÌÈÆü¹¡许¿Ëã烦¡£
Ãí°Õ¡¤ºß/www/htdocs/exampleÌÜ录²¼.htaccessʸ·ïÃæÊüÃÖ»ØÎᡤͿ¡¤ ºß¼çÉþ务´ïÇÛÃÖʸ·ïÃæ
/www/htdocs/exampleÃæÅª.htaccess:
/www/htdocs/exampleÃæ.htaccessʸ·ïŪÆâÍÆ
AddType text/example .exm
httpd.confʸ·ïÃæÅªÃÊ
AddType text/example .exm
âÀ§¡¤ÇÄ这ФÇÛÃÖÊüÃÖºßÉþ务´ïÇÛÃÖʸ·ïÃæ则¹¹²Ã¹âÚᤰø为Âþ¼ûÍ׺ßApache启动时读¼è°ì¼¡¡¤ ¼©ÉÔÀ§ºßÍʸ·ï请µá时每¼¡ÅÔ读¼è¡£
¾AllowOverride设ÃÖ为"none"²Ä°Ê´°Á´¶Ø»ß»ÈÍÑ.htaccessʸ·ï¡£
AllowOverride None
top
»ØÎáŪÀ¸ÚÃ
.htaccessʸ·ïÃæÅªÇÛÃÖ»ØÎáºîÍÑв.htaccessʸ·ï½êºßŪÌÜ录µÚ¶½êÍ»ÒÌÜ录¡¤ âÀ§¡¤×̽ÅÍ×¼ûÍ×记½»ÅªÀ§¡¤Â¶¹¹¹â级ŪÌÜ录Ìé²Äǽ²ñÍ.htaccessʸ·ï¡¤ ¼©»ØÎáÀ§°Ä查Ù²顺½ø°Í¼¡À¸Ú᤽ê°Ê¡¤ °ìФÆÃÄêÌÜ录²¼Åª.htaccessʸ·ïÃæÅª»ØÎá²Äǽ²ñʤâµÂ¶¹¹¹â级ÌÜ录ÃæÅª .htaccessʸ·ïŪ»ØÎᡤ¨¡¤ »ÒÌÜ录ÃæÅª»ØÎá²ñʤ⵹¹¹â级ÌÜ录°¿¼Ô¼çÉþ务´ïÇÛÃÖʸ·ïÃæÅª»ØÎá¡£
ÎãÇ¡:
ÌÜ录/www/htdocs/example1ÃæÅª.htaccessʸ·ïÍÇ¡²¼ÆâÍÆ¡§
Options +ExecCGI
(Ãí°Õ: ɬ须设ÃÖ"AllowOverride Options"°Ê°ô许ºß.htaccessʸ·ïÃæ»ÈÍÑ "Options"»ØÎá¡£)
ºßÌÜ录/www/htdocs/example1/example2ÃæÅª.htaccessʸ·ïÍÇ¡²¼ÆâÍÆ¡§
Options Includes
ͳвÂèÆóФ.htaccessʸ·ïŪ¸ºß¡¤/www/htdocs/example1/example2Ãæ ŪCGI执¹ÔÀ§ÉÔ°ô许Ū¡¤¼©Âþ°ô许Options Includes¡¤Õà´°Á´Ê¤âµÎ»Ç·Á°Åª设ÃÖ¡£
top
认证举Îã
Ç¡²Ì你为λÃÎÆ»Ç¡²¿认证¡¤Ä¾ÀÜк这Τ开»Ï´Ç¡¤Í×̽ÅÍ×Ū°ìÅÀ¼ûÍ×Ãí°Õ¡¤Í°ì种¾ï见Ū误²ò¡¤ 认为实现Ì©码认证ɬ须Í×»ÈÍÑ.htaccessʸ·ï¡¤Â¶实ÉÔÀ§这样¡£ ÇÄ认证»ØÎáÊüºß¼çÉþ务´ïÇÛÃÖʸ·ïŪ
ͺ¡À¼ÌÀºßÀ衤ǡ²Ì你лÁ³¼ûÍ×»ÈÍÑ.htaccessʸ·ï¡¤请´Ç°Ê²¼说ÌÀ¡£
ɬ须设ÃÖ"AllowOverride AuthConfig"°Ê°ô许这º³»ØÎáÀ¸ÚÃ
.htaccessʸ·ïŪÆâÍÆ:
AuthType Basic
AuthName "Password Required"
AuthUserFile /www/passwords/password.file
AuthGroupFile /www/passwords/group.file
Require Group admins
Ãí°Õ¡¤É¬须设ÃÖAllowOverride AuthConfig°Ê°ô许这º³»ØÎáÀ¸ÚÃ
¹¹详细ŪÍ关¿È份识别ÏÂ认证Ū说ÌÀ¡¤请»²见authentication tutorial¡£
top
Éþ务´ïüÊñ´Þ举Îã
.htaccessʸ·ïŪ另°ìФ¾ï见ÍÑÅÓÀ§°ô许°ìФÆÃÄêÌÜ录ŪÉþ务´ïüÊñ´Þ(Server Side Includes)¡¤ ²Ä°Êºß¼ûÍ×ŪÌÜ录ÃæÊüÃÖ.htaccessʸ·ï¡¤ÖõÇ¡²¼ÇÛÃÖ¡§
Options +Includes
AddType text/html shtml
AddHandler server-parsed shtml
Ãí°Õ¡¤É¬须Ʊ时设ÃÖAllowOverride OptionsÏ AllowOverride FileInfo»È这º³»ØÎáÀ¸Úá£
¹¹详细ŪÍ关Éþ务´ïüÊñ´ÞŪ说ÌÀ¡¤请»²见SSI tutorial¡£
top
CGI举Îã
ºÇ¹¡¡¤²Ä°ÊÄÌ过.htaccessʸ·ï°ô许ºßÆÃÄêÌÜ录Ãæ执¹ÔCGIÄø½ø¡¤¼û°ÄÇ¡²¼ÇÛÃÖ¡§
Options +ExecCGI
AddHandler cgi-script cgi pl
另³°¡¤Ç¡²¼¡¤²Ä°Ê»È给ÄêÌÜ录²¼½êÍʸ·ïÈï视为CGIÄø½ø¡§
Options +ExecCGI
SetHandler cgi-script
Ãí°Õ¡¤É¬须设ÃÖAllowOverride Options»È这º³»ØÎáÀ¸Úá£
¹¹详细ŪÍ关CGI编ÄøÏÂÇÛÃÖŪ说ÌÀ¡¤请»²见CGI tutorial¡£
top
µ¿难²òÅú
Ç¡²Ìºß.htaccessʸ·ïÃæ¼ÌÆþλÇÛÃÖ»ØÎáâÉÔµ¯ºîÍÑ¡¤²ÄǽÍ¿种¸¶°ø¡£
ºÇ¾ï见Ū¸¶°øÀ§¡¤AllowOverride»ØÎáË×ÍÈïÀµ确设ÃÖ¡¤ ɬ须确ÊÝË×Í对º¡Ê¸·ï¶è°è设ÃÖAllowOverride None¡£Í°ìФ×̹¥Åª测试ÊýË¡¡¤Â¨¡¤ ºß.htaccessʸ·ï¿ïÊØùá²ÃÅÀË×ÍÑŪÆâÍÆ¡¤Ç¡²ÌÉþ务´ïË×ÍÊÖ²óλ°ìФ错误¾Ã©¡¤ Æá么ÑܸòİÊÃÇÄê设ÃÖλAllowOverride None¡£
ºß访问ʸÛã时¡¤Ç¡²ÌÚÀÅþÉþ务´ïŪ½Ð错¾Ã©¡¤应该检查ApacheŪ½Ð错Æü»Ö¡¤ ²Ä°ÊÃÎÆ».htaccessʸ·ïÃæ哪º³»ØÎáÀ§ÉÔ°ô许»ÈÍÑŪ¡¤Ìé²Äǽ²ñ发现¼ûÍ×纠ÀµÅª语Ë¡错误¡£
.htaccessʸ·ï»ÈÍѼêÑÆ
- .htaccessʸ·ï(°¿¼Ô"ʬÉÛ¼°ÇÛÃÖʸ·ï"Äó¶¡Î»针对ÌÜ录²þ变ÇÛÃÖŪÊýË¡¡¤ ¨¡¤ºß°ìФÆÃÄêŪʸÛãÌÜ录ÃæÊüÃÖ°ìФÊñ´Þ°ìФ°¿Â¿Ð¤»ØÎáŪʸ·ï¡¤°ÊºîÍÑвº¡ÌÜ录µÚ¶½êÍ»ÒÌÜ录¡£ºî为ÍÑ户¡¤½êǽ»ÈÍÑŪ̿Îá¼õÅþ¸ÂÀ©¡£´ÉÍý员²Ä°ÊÄÌ过ApacheŪAllowOverride»ØÎáÍè设ÃÖ¡£
- »ÒÌÜ录ÃæÅª»ØÎá²ñʤ⵹¹¹â级ÌÜ录°¿¼Ô¼çÉþ务´ïÇÛÃÖʸ·ïÃæÅª»ØÎá¡£
- .htaccessɬ须°ÊASCIIÌϼ°¾å传¡¤ºÇ¹¥¾Â¶权¸Â设ÃÖ为644¡£
错误ʸÛãŪÄê°Ì
¾ïÍÑŪµÒ户ü请µá错误ÊÖ²óÂå码¡§
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
¾ï见ŪÉþ务´ï错误ÊÖ²óÂå码¡§
500 Internal Server Error
ÍÑ户²Ä°ÊÍøÍÑ.htaccess»ØÄ꼫¸Ê»öÀèÀ©ºî¹¥Åª错误ÄóÀÃ页ÌÌ¡£°ìÈ̾ðÑײ¼¡¤¿Í们²Ä°Ê专门设Ω°ìФÌÜ录¡¤ÎãÇ¡errorsÊüÃÖ这º³页ÌÌ¡£Á³¹¡ºÆ.htaccessÃæ¡¤²ÃÆþÇ¡²¼Åª»ØÎá¡§
ErrorDocument 404 /errors/notfound.html
ErrorDocument 500 /errors/internalerror.html
°ì¾ò»ØÎá°ì¹Ô¡£¾å½ÒÂè°ì¾ò»ØÎáŪ°Õ»×À§对в404¡¤Ìé½¢À§Ë×ÍÙ²Åþ½ê¼ûÍ×ŪʸÛãŪ时¸õÆÀ显¼¨页ÌÌ为/errorsÌÜ录²¼Åªnotfound.html页ÌÌ¡£ÉÔ难´Ç½Ð语Ë¡³Ê¼°为¡§
ErrorDocument 错误Âå码 /ÌÜ录̾/ʸ·ï̾.扩Ÿ̾
Ç¡²Ì½ê¼ûÍ×Äó¼¨Åª¿®Â©×̾¯Åª话¡¤ÉÔɬ专门À©ºî页ÌÌ¡¤Ä¾Àܺ߻ØÎáÃæ»ÈÍÑHTML¹æÎ»¡¤ÎãÇ¡²¼ÌÌ这ФÎã»Ò¡§
ErrorDocument 401 "
你Ë×Í权¸Â访问该页ÌÌ¡¤请Êü×±¡ª
"ʸÛã访问Ū̩码ÊÝ护
Í×ÍøÍÑ.htaccess对˿ФÌÜ录²¼ÅªÊ¸Ûã设Äê访问ÍÑ户ÏÂ对应Ū̩码¡¤¼óÀèÍ×ÐöŪÀ§À¸À®°ìФ.htpasswdŪʸËÜʸÛ㡤ÎãÇ¡¡§
zheng:y4E7Ep8e7EYV
这Τ̩码经过²ÃÌ©¡¤ÍÑ户²Ä°Ê¼«¸ÊÙ²º³¹©¶ñ¾Ì©码²ÃÌ©À®.htaccess»Ù»ýŪ编码¡£该ʸÛãºÇ¹¥ÉÔÍ×ÊüºßwwwÌÜ录²¼¡¤·ú议Êüºßwwwº¬ÌÜ录ʸÛãÇ·³°¡¤这样¹¹为°ÂÁ´º³¡£
Íλ¼ø权ÍÑ户ʸÛ㡤²Ä°Êºß.htaccessÃæ²ÃÆþÇ¡²¼»ØÎáλ¡§
AuthUserFile .htpasswdŪÉþ务´ïÌÜ录
AuthGroupFile /dev/null ¡Ê¼ûÍ×¼ø权访问ŪÌÜ录¡Ë
AuthName EnterPassword
AuthType Basic ¡Ê¼ø权类·¿¡Ë
require user wsabstract ¡Ê°ô许访问ŪÍÑ户¡¤Ç¡²Ì´õË¾É½Ãæ½êÍÍÑ户ÅÔ°ô许¡¤²Ä°Ê»ÈÍÑ require valid-user¡Ë
Ãí¡¤³ç¹æÉôʬ为³Ø习时¸õ¼«¸Êź²ÃŪÃí释
µñ绝Í輫˿ФIPŪ访问
Ç¡²Ì²æÉÔÁÛ˿ФÀ¯ÉÜÉô门访问Åþ²æÅªãëÅÀŪÆâÍÆ¡¤Æá²Ä°ÊÄÌ过.htaccessÃæ²ÃÆþ该Éô门ŪIP¼©¾Õà们µñ绝ºß³°¡£
ÎãÇ¡¡§
order allow,deny
deny from 210.10.56.32
deny from 219.5.45.
allow from all
ÂèÆó¹Ôµñ绝˿ФIP¡¤Âè»°¹Ôµñ绝˿ФIPÃÊ¡¤Ìé½¢À§219.5.45.0~219.2.45.255
ÁÛÍ×µñ绝½êͿ͡©ÍÑdeny from all¹¥Î»¡£ÉÔ»ßÍÑIP¡¤Ìé²Ä°ÊÍѰè̾Íè设Äê¡£
ÊÝ护.htaccessʸÛã
ºß»ÈÍÑ.htaccessÍè设ÃÖÌÜ录Ū̩码ÊÝ护时¡¤ÕàÊñ´Þλ̩码ʸ·ïŪϩ·Â¡£Ðº°ÂÁ´¹Í虑¡¤ÍɬÍ×ÇÄ.htaccessÌéÊÝ护µ¯Í衤ÉÔ让别¿Í´ÇÅþÂ¶ÃæÅªÆâÍÆ¡£虽Á³²Ä°ÊÍѶ¾Êý¼°ÐöÅþ这ÅÀ¡¤ÈæÇ¡Ê¸ÛãŪ权¸Â¡£ÉÔ过¡¤.htaccessËÜ¿ÈÌéǽÐöÅþ¡¤Âþ¼û²ÃÆþÇ¡²¼Åª»ØÎá¡§
order allow,deny
deny from all
URL转¸þ
²æ们²Äǽ对æ¦ãë进¹Ô½Å¿·规划¡¤¾Ê¸Ûã进¹Ôλ迁°Ü¡¤°¿¼Ô¹¹²þλÌÜ录¡£这时¸õ¡¤Í輫ÙÓº÷°úú²°¿¼Ô¶¾æ¦ãë链ÀÜ过ÍèŪ访问½¢²Äǽ½Ð错¡£这种¾ðÑײ¼¡¤²Ä°ÊÄÌ过Ç¡²¼»ØÎáÍè´°À®µìŪURL¼«动转¸þÅþ¿·ÅªÃÏÔ®¡§
Redirect /µìÌÜ录/µìʸÛã̾ ¿·Ê¸ÛãŪÃÏÔ®
°¿¼ÔÀ°Ð¤ÌÜ录Ū转¸þ¡§
Redirect µìÌÜ录 ¿·ÌÜ录
²þ变åþ¾ÊŪ¼ó页ʸ·ï
°ìÈ̾ðÑײ¼åþ¾ÊŪ¼ó页ʸ·ï̾Ídefault¡¢indexÅù¡£ÉÔ过¡¤Íº³时¸õÌÜ录ÃæË×Íåþ¾Êʸ·ï¡¤¼©À§Ë¿Ð¤ÆÃÄêŪʸ·ï̾¡¤ÈæÇ¡ºßpmwikiÃæÀ§pmwiki.php¡£这种¾ðÑײ¼¡¤Í×ÍÑ户记½»Ê¸·ï̾Íè访问×ÌËã烦¡£ºß.htaccessÃæ²Ä°Ê轻°×Ū设ÃÖ¿·Åªåþ¾Êʸ·ï̾¡§
DirectoryIndex ¿·Åªåþ¾Êʸ·ï̾
Ìé²Ä°ÊÎó½Ð¿Ф¡¤顺½øÉ½ÌÀÕà们Ç·间Ū优Àè级别¡¤ÎãÇ¡¡§
DirectoryIndex filename.html index.cgi index.pl default.htm
ËÉ»ßÅð链
Ç¡²ÌÉÔ´î欢别¿Íºß¾们Ūæ¦页¾å连Àܼ«¸ÊŪ图ÊÒ¡¢Ê¸ÛãŪ话¡¤Ìé²Ä°ÊÄÌ过htaccessŪ»ØÎáÍèÐöÅþ¡£
½ê¼ûÍ×Ū»ØÎáÇ¡²¼¡§
RewriteEngine on
RewriteCond % !^$
RewriteCond % !^[url]http://(www/.)?mydomain.com/.[/url]*$ [NC]
RewriteRule \.(gif|jpg)$ - [F]
Ç¡²Ì觉ÆÀ让别¿ÍŪ页ÌÌ开ФŷãÙÉÔ¹¥´Ç¡¤Æá²Ä°ÊÍѰì张图ÊÒÍèÂåÂØ¡§
RewriteEngine on
RewriteCond % !^$
RewriteCond % !^[url]http://(www/.)?mydomain.com/.[/url]*$ [NC]
RewriteRule \.(gif|jpg)$ [url]http://www.mydomain.com/[/url]ÂØÂå图ÊÒʸ·ï̾ [R,L]
- .htaccessʸ·ï(°¿¼Ô"ʬÉÛ¼°ÇÛÃÖʸ·ï"Äó¶¡Î»针对ÌÜ录²þ变ÇÛÃÖŪÊýË¡¡¤ ¨¡¤ºß°ìФÆÃÄêŪʸÛãÌÜ录ÃæÊüÃÖ°ìФÊñ´Þ°ìФ°¿Â¿Ð¤»ØÎáŪʸ·ï¡¤ °ÊºîÍÑвº¡ÌÜ录µÚ¶½êÍ»ÒÌÜ录¡£ºî为ÍÑ户¡¤½êǽ»ÈÍÑŪ̿Îá¼õÅþ¸ÂÀ©¡£´ÉÍý员²Ä°ÊÄÌ过ApacheŪAllowOverride»ØÎáÍè设ÃÖ¡£
- »ÒÌÜ录ÃæÅª»ØÎá²ñʤ⵹¹¹â级ÌÜ录°¿¼Ô¼çÉþ务´ïÇÛÃÖʸ·ïÃæÅª»ØÎá¡£
- .htaccessɬ须°ÊASCIIÌϼ°¾å传¡¤ºÇ¹¥¾Â¶权¸Â设ÃÖ为644¡£
错误ʸÛãŪÄê°Ì
¾ïÍÑŪµÒ户ü请µá错误ÊÖ²óÂå码¡§
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
¾ï见ŪÉþ务´ï错误ÊÖ²óÂå码¡§
500 Internal Server Error
ÍÑ户²Ä°ÊÍøÍÑ.htaccess»ØÄ꼫¸Ê»öÀèÀ©ºî¹¥Åª错误ÄóÀÃ页ÌÌ¡£°ìÈ̾ðÑײ¼¡¤¿Í们²Ä°Ê专门设Ω°ìФÌÜ录¡¤ÎãÇ¡errorsÊüÃÖ这º³页ÌÌ¡£Á³¹¡ºÆ.htaccessÃæ¡¤²ÃÆþÇ¡²¼Åª»ØÎá¡§
ErrorDocument 404 /errors/notfound.html
ErrorDocument 500 /errors/internalerror.html
°ì¾ò»ØÎá°ì¹Ô¡£¾å½ÒÂè°ì¾ò»ØÎáŪ°Õ»×À§对в404¡¤Ìé½¢À§Ë×ÍÙ²Åþ½ê¼ûÍ×ŪʸÛãŪ时¸õÆÀ显¼¨页ÌÌ为/errorsÌÜ录²¼Åªnotfound.html页ÌÌ¡£ÉÔ难´Ç½Ð语Ë¡³Ê¼°为¡§
ErrorDocument 错误Âå码 /ÌÜ录̾/ʸ·ï̾.扩Ÿ̾
Ç¡²Ì½ê¼ûÍ×Äó¼¨Åª¿®Â©×̾¯Åª话¡¤ÉÔɬ专门À©ºî页ÌÌ¡¤Ä¾Àܺ߻ØÎáÃæ»ÈÍÑHTML¹æÎ»¡¤ÎãÇ¡²¼ÌÌ这ФÎã»Ò¡§
ErrorDocument 401 "
你Ë×Í权¸Â访问该页ÌÌ¡¤请Êü×±¡ª
"ʸÛã访问Ū̩码ÊÝ护
Í×ÍøÍÑ.htaccess对˿ФÌÜ录²¼ÅªÊ¸Ûã设Äê访问ÍÑ户ÏÂ对应Ū̩码¡¤¼óÀèÍ×ÐöŪÀ§À¸À®°ìФ.htpasswdŪʸËÜʸÛ㡤ÎãÇ¡¡§
zheng:y4E7Ep8e7EYV
这Τ̩码经过²ÃÌ©¡¤ÍÑ户²Ä°Ê¼«¸ÊÙ²º³¹©¶ñ¾Ì©码²ÃÌ©À®.htaccess»Ù»ýŪ编码¡£该ʸÛãºÇ¹¥ÉÔÍ×ÊüºßwwwÌÜ录²¼¡¤·ú议Êüºßwwwº¬ÌÜ录ʸÛãÇ·³°¡¤这样¹¹为°ÂÁ´º³¡£
Íλ¼ø权ÍÑ户ʸÛ㡤²Ä°Êºß.htaccessÃæ²ÃÆþÇ¡²¼»ØÎáλ¡§
AuthUserFile .htpasswdŪÉþ务´ïÌÜ录
AuthGroupFile /dev/null ¡Ê¼ûÍ×¼ø权访问ŪÌÜ录¡Ë
AuthName EnterPassword
AuthType Basic ¡Ê¼ø权类·¿¡Ë
require user wsabstract ¡Ê°ô许访问ŪÍÑ户¡¤Ç¡²Ì´õË¾É½Ãæ½êÍÍÑ户ÅÔ°ô许¡¤²Ä°Ê»ÈÍÑ require valid-user¡Ë
Ãí¡¤³ç¹æÉôʬ为³Ø习时¸õ¼«¸Êź²ÃŪÃí释
µñ绝Í輫˿ФIPŪ访问
Ç¡²Ì²æÉÔÁÛ˿ФÀ¯ÉÜÉô门访问Åþ²æÅªãëÅÀŪÆâÍÆ¡¤Æá²Ä°ÊÄÌ过.htaccessÃæ²ÃÆþ该Éô门ŪIP¼©¾Õà们µñ绝ºß³°¡£
ÎãÇ¡¡§
order allow,deny
deny from 210.10.56.32
deny from 219.5.45.
allow from all
ÂèÆó¹Ôµñ绝˿ФIP¡¤Âè»°¹Ôµñ绝˿ФIPÃÊ¡¤Ìé½¢À§219.5.45.0~219.2.45.255
ÁÛÍ×µñ绝½êͿ͡©ÍÑdeny from all¹¥Î»¡£ÉÔ»ßÍÑIP¡¤Ìé²Ä°ÊÍѰè̾Íè设Äê¡£
ÊÝ护.htaccessʸÛã
ºß»ÈÍÑ.htaccessÍè设ÃÖÌÜ录Ū̩码ÊÝ护时¡¤ÕàÊñ´Þλ̩码ʸ·ïŪϩ·Â¡£Ðº°ÂÁ´¹Í虑¡¤ÍɬÍ×ÇÄ.htaccessÌéÊÝ护µ¯Í衤ÉÔ让别¿Í´ÇÅþÂ¶ÃæÅªÆâÍÆ¡£虽Á³²Ä°ÊÍѶ¾Êý¼°ÐöÅþ这ÅÀ¡¤ÈæÇ¡Ê¸ÛãŪ权¸Â¡£ÉÔ过¡¤.htaccessËÜ¿ÈÌéǽÐöÅþ¡¤Âþ¼û²ÃÆþÇ¡²¼Åª»ØÎá¡§
order allow,deny
deny from all
URL转¸þ
²æ们²Äǽ对æ¦ãë进¹Ô½Å¿·规划¡¤¾Ê¸Ûã进¹Ôλ迁°Ü¡¤°¿¼Ô¹¹²þλÌÜ录¡£这时¸õ¡¤Í輫ÙÓº÷°úú²°¿¼Ô¶¾æ¦ãë链ÀÜ过ÍèŪ访问½¢²Äǽ½Ð错¡£这种¾ðÑײ¼¡¤²Ä°ÊÄÌ过Ç¡²¼»ØÎáÍè´°À®µìŪURL¼«动转¸þÅþ¿·ÅªÃÏÔ®¡§
Redirect /µìÌÜ录/µìʸÛã̾ ¿·Ê¸ÛãŪÃÏÔ®
°¿¼ÔÀ°Ð¤ÌÜ录Ū转¸þ¡§
Redirect µìÌÜ录 ¿·ÌÜ录
²þ变åþ¾ÊŪ¼ó页ʸ·ï
°ìÈ̾ðÑײ¼åþ¾ÊŪ¼ó页ʸ·ï̾Ídefault¡¢indexÅù¡£ÉÔ过¡¤Íº³时¸õÌÜ录ÃæË×Íåþ¾Êʸ·ï¡¤¼©À§Ë¿Ð¤ÆÃÄêŪʸ·ï̾¡¤ÈæÇ¡ºßpmwikiÃæÀ§pmwiki.php¡£这种¾ðÑײ¼¡¤Í×ÍÑ户记½»Ê¸·ï̾Íè访问×ÌËã烦¡£ºß.htaccessÃæ²Ä°Ê轻°×Ū设ÃÖ¿·Åªåþ¾Êʸ·ï̾¡§
DirectoryIndex ¿·Åªåþ¾Êʸ·ï̾
Ìé²Ä°ÊÎó½Ð¿Ф¡¤顺½øÉ½ÌÀÕà们Ç·间Ū优Àè级别¡¤ÎãÇ¡¡§
DirectoryIndex filename.html index.cgi index.pl default.htm
ËÉ»ßÅð链
Ç¡²ÌÉÔ´î欢别¿Íºß¾们Ūæ¦页¾å连Àܼ«¸ÊŪ图ÊÒ¡¢Ê¸ÛãŪ话¡¤Ìé²Ä°ÊÄÌ过htaccessŪ»ØÎáÍèÐöÅþ¡£
½ê¼ûÍ×Ū»ØÎáÇ¡²¼¡§
RewriteEngine on
RewriteCond % !^$
RewriteCond % !^[url]http://(www/.)?mydomain.com/.[/url]*$ [NC]
RewriteRule \.(gif|jpg)$ - [F]
Ç¡²Ì觉ÆÀ让别¿ÍŪ页ÌÌ开ФŷãÙÉÔ¹¥´Ç¡¤Æá²Ä°ÊÍѰì张图ÊÒÍèÂåÂØ¡§
RewriteEngine on
RewriteCond % !^$
RewriteCond % !^[url]http://(www/.)?mydomain.com/.[/url]*$ [NC]
RewriteRule \.(gif|jpg)$ [url]http://www.mydomain.com/[/url]ÂØÂå图ÊÒʸ·ï̾ [R,L]
°ì. ¼«Äê义404,401,Åù错误
1.
¼óÀè·úΩ°ìФ̾为: .htaccess
¼ÌÆþ°Ê²¼ÆâÍÆ
ErrorDocument 401 /err401.html
ErrorDocument 402 /err402.html
ErrorDocument 403 /err403.html
ErrorDocument 404 /err404.html
Â¶Ãæ,401,402,403,404Âåɽ错误类·¿,
¹¡ÌÌŪerr401.htmlÂåɽ¶Áê对应Ū页ÌÌ,
2.
ʬ别·úΩ̾»ú为:
err401.html,err402.html.........
Ūʸ·ï,Åö½Ð现对应Ū错误Ū时¸õ,
½¢²ñ»Ø¸þ对ÌÌŪ页ÌÌ
3.
传Åþº¬ÌÜ录²¼,
Ìé½¢À§ public_html ÌÜ录²¼
°ìÀÚ½¢OKλ
Æó. µîÙÜÖø¹ð
·úФʸ·ï̾ .htaccess Ūʸ·ï, ʸ·ïÆâÍÆÇ¡²¼:
LayoutIgnoreURI *.php
LayoutIgnoreURI *.cgi
LayoutIgnoreURI *.htm
LayoutIgnoreURI *.html
¾ .htaccess ¾å传»ê¶õ间Ū Public_html ÌÜ录²¼,¨²ÄµîÙÜÖø¹ð!
Ãí°Õ *.* 这Τ..ÁÛµîÆá种扩Ÿ̾Ūʸ·ï,½¢¼Ì¾åÆá种ʸ·ïŪ扩Ÿ̾!
这ФÀ§ºÇ简单ŪÊýË¡¡¤ÂþÍ׺ߺ¬ÌÜ录²Ã这Фʸ·ï¡¤Æá么À°Ð¤æ¦ãëÅÔÉÔ²ñÍÖø¹ð!
»þ´Ö²áÆÀ¿¿²÷...
íÛ´ã´ÖÅÔÖáå´13éËλ¡Ä¡Ä
×̲÷½¢ËôÍ×ÊÖ×¢½£Î»¡Ä¡Ä
×̲÷½¢ËôÍ×ÊÖ×¢½£Î»¡Ä¡Ä
²æë´ÆÀ²æ¿¿ÅªÀ§¸ÄʰÅÜŪϷ傻ɯ
²æ¿¿ÅªÉÔÃÎÆ»Í½º麽Ïøìǽ說ÌÀ²æ¸½ºßŪʰÅÜŪ´¶ë´¡©
²æë´ÆÀ²æ¿¿ÅªºøÎ»¡¤µ錄¼«¸Ê²þ²áŪʸ·ïÇç¼ï»ö¾ð¿¿Åª×ÌÆñ嗎¡©
²æ½º麽ÅÔÉÔÁÛ說λ¡¤²æÌéÉÔÁÛÀ¸ÝæÎ»¡¤È¿Àµ¡¤ÇçÉÔÀ§²æ¼«¸ÊŪ»ö¾ð¡¤ÌéÉÔÀ§²æÅªÔ¥Â⡤²æÌéÉÔÁÛºÆÖèÔ¥Ââλ¡£
ìðÇç·²µÞ¸ù¶áÍøÅªÌÓÆ¬¾®»Ò搞ºß°ìµ¯¡¤Ýó½º麽°Õ»×¡£
ºî°Ù°ì¸ÄÏ·傻ɯ¡¤²æ´ÔÀ§åëåô̵¸Âêæ傻¹¥Î»¡£¡£¡£
Ó¨ÒêÒêÒêÒê....
²æë´ÆÀ²æ¿¿ÅªºøÎ»¡¤µ錄¼«¸Ê²þ²áŪʸ·ïÇç¼ï»ö¾ð¿¿Åª×ÌÆñ嗎¡©
²æ½º麽ÅÔÉÔÁÛ說λ¡¤²æÌéÉÔÁÛÀ¸ÝæÎ»¡¤È¿Àµ¡¤ÇçÉÔÀ§²æ¼«¸ÊŪ»ö¾ð¡¤ÌéÉÔÀ§²æÅªÔ¥Â⡤²æÌéÉÔÁÛºÆÖèÔ¥Ââλ¡£
ìðÇç·²µÞ¸ù¶áÍøÅªÌÓÆ¬¾®»Ò搞ºß°ìµ¯¡¤Ýó½º麽°Õ»×¡£
ºî°Ù°ì¸ÄÏ·傻ɯ¡¤²æ´ÔÀ§åëåô̵¸Âêæ傻¹¥Î»¡£¡£¡£
Ó¨ÒêÒêÒêÒê....

