Ϊʲôµ±AllowOverride AllʱApache³ö´í
AllowOverride´Ó×ÖÃæÉϽâÊÍÊÇÔÊÐí¸²¸ÇµÄÒâ˼£¬¼´ApacheÔÊÐíÁíÒ»ÅäÖÃÎļþ¸²¸ÇÏÖÓÐÅäÖÃÎļþ¡£ÎÒÃÇͨ³£ÀûÓÃApacheµÄrewriteÄ£¿é¶ÔURL½øÐÐÖØÐ´£¬rewrite¹æÔò»áдÔÚ .htaccess ÎļþÀï¡£µ«ÒªÊ¹ apache Äܹ»Õý³£µÄ¶ÁÈ¡.htaccess ÎļþµÄÄÚÈÝ£¬¾Í±ØÐë¶Ô.htaccess ËùÔÚĿ¼½øÐÐÅäÖá£
´Ó°²È«ÐÔ¿¼ÂÇ£¬¸ùĿ¼µÄAllowOverrideÊôÐÔÒ»°ã¶¼ÅäÖóɲ»ÔÊÐíÈκÎOverride£¬¼´£º
AllowOverride None
ÔÚ AllowOverride ÉèÖÃΪ None ʱ£¬ .htaccess Îļþ½«±»ÍêÈ«ºöÂÔ¡£µ±´ËÖ¸ÁîÉèÖÃΪ All ʱ£¬ËùÓоßÓÐ ¡°.htaccess¡± ×÷ÓÃÓòµÄÖ¸Áî¶¼ÔÊÐí³öÏÖÔÚ .htaccess ÎļþÖС£
¸ü¶àÏà¹ØÖªÊ¶¿É²Î¿¼£ºhttps://panxu.net/article/8410.html
ÈçºÎÌí¼ÓApache·þÎñÆ÷Óû§ÑéÖ¤AllowOverride AuthConfig
apache·þÎñÆ÷ÒѾÄÚÖÃÓû§ÑéÖ¤»úÖÆ£¬´ó¼ÒÖ»ÒªÊʵ±µÄ¼ÓÒÔÉèÖ㬱ã¿ÉÒÔ¿ØÖÆÍøÕ¾µÄijЩ²¿·ÖÒªÓû§ÑéÖ¤¡£
ͨ³£·ÖΪÒÔÏÂÈý²½£º
1¡¢ÔÚapacheµÄÅäÖÃÎļþhttpd.confÖÐÉùÃ÷Òª½øÐÐÑéÖ¤µÄĿ¼
2¡¢ÔÚÒª½øÐÐÑéÖ¤µÄĿ¼Öд´½¨.htaccessÎļþ£¬ÔÚ´ËÎļþÖÐÖ¸Ã÷ÓÃÓÚÑéÖ¤µÄÎļþ´æ·ÅµÄλÖÃ
3¡¢¸ù¾Ý.htaccessÖ¸Ã÷µÄλÖã¬ÓÃapache×Ô´øµÄhtpasswdÃüÁî´´½¨ÓÃÓÚÑéÖ¤µÄÎļþ
²½Öè˵Ã÷£º
¼ÙÉèÒª¶Ô/home/dddÕâ¸öĿ¼½øÐзÃÎÊ¿ØÖÆ¡££¨Õâ¸öĿ¼²»ÔÚAPACHEµÄÖ÷Ŀ¼ÖУ¬Òò´ËÒªÓÃalias Ìí¼ÓΪÐéÄâĿ¼£©
1¡¢ÔÚapacheµÄÅäÖÃÎļþhttpd.confÖÐÉùÃ÷Òª½øÐÐÑéÖ¤µÄĿ¼
±à¼httpd.conf
LoadModule auth_module modules/mod_auth.so #ÐèÒª¼ÓÔØ´ËÄ£¿é½øÐÐÈÏÖ¤
Alias /test "/home/ddd" #Ìí¼ÓΪÐéÄâĿ¼
Options Indexes MultiViews
AllowOverride All #ÔÊÐíÓÃ.htaccessÎļþÖÐÖ¸¶¨µÄÑéÖ¤Îļþ½øÐÐÉí·ÝÑéÖ¤
Order allow,deny
Allow from all
#AllowOverride all ±íʾ½øÐÐÉí·ÝÑéÖ¤ ÕâÊǹؼüµÄÉèÖÃ
´ËÍ⣬Ҳ¿ÉÓÃAllowOverride AuthConfig
ʵÀý:
ServerName test.xxx.com
ServerAlias xxx.com 123.123.123.123
DocumentRoot /data/ddd/
Options Indexes FollowSymlinks MultiViews
AllowOverride All
ErrorLog /error.log
2¡¢ÔÚÒª½øÐÐÑéÖ¤µÄĿ¼Öд´½¨.htaccessÎļþ£¬ÔÚ´ËÎļþÖÐÖ¸Ã÷ÓÃÓÚÑéÖ¤µÄÎļþ´æ·ÅµÄλÖÃ
ÔÚ/home/dddÏ´´½¨.htaccessÎļþ
vi /home/ddd/.htaccess£¬ÄÚÈÝÈçÏ£º
AuthName "ÇëÊäÈëÓû§Ãû¼°¿ÚÁî"
AuthType Basic
AuthUserFile /home/.htpasswd
require valid-user
#AuthName ÃèÊö£¬³öÏÖÔÚÑéÖ¤¶Ô»°¿ò±êÌâÀ¸ÖÐ
#AuthUserFile /home/.htpasswd £¨Ö¸¶¨ÑéÖ¤Îļþ´æ·ÅÓÚ/homeÖУ¬ÎļþÃûΪ.htpasswd£¬´ËÎļþ¾ßÓÐÒþº¬ÊôÐÔ£¬ÆäÖаüÀ¨ÔÊÐí·ÃÎʵÄÓû§Ãû¼°ÃÜÂë¡£
#require valid-user ʹÓÃÑéÖ¤ÎļþÖеÄÓÐЧÓû§½øÐÐÑéÖ¤
Ò²¿ÉʹÓà require user À´Ö¸¶¨Ìض¨Óû§½øÐÐÑéÖ¤
#ÃÜÂëÎļþÍÆ¼öÈ¡ÃûΪ.htpasswd,ÒòΪapacheĬÈÏϵͳ¶Ô¡°.ht¡±¿ªÍ·µÄÎļþĬÈϲ»ÔÊÐíÍⲿ¶ÁÈ¡£¬°²È«ÏµÊý»á¸ßһЩ¡£
3¡¢¸ù¾Ý.htaccessÖ¸Ã÷µÄλÖã¬ÓÃapache×Ô´øµÄhtpasswdÃüÁî´´½¨ÓÃÓÚÑéÖ¤µÄÎļþ
ÓÉÓÚÒѾÔÚµÚ2²½ÖÐÖ¸¶¨ÑéÖ¤ÎļþΪ/home/.htpasswdÎļþ£¬ËùÒÔÏÂÃæ´´½¨Õâ¸öÎļþ
htpasswd -c /home/.htpasswd jp #´´½¨.htpasswdÎļþ£¬²¢Ìí¼ÓÓû§jp£¬»áÒªÇóÊäÈë¿ÚÁî
htpasswd /home/.htpasswd test #.htpasswdÎļþÖÐÌí¼ÓµÚ¶þ¸öÓû§£ºtest£©
Ò²¿ÉÒÔ²»Í¨¹ý½»»¥·½Ê½£¬Ö±½ÓÔÚÃüÁîÐУ¬½«¿ÚÁîÌí¼Óµ½.htpasswdÎļþÖÐ
htpasswd -bc /home/.htpasswd jp 111 £¨´´½¨.htpasswdÎļþ£¬²¢Ìí¼ÓÓû§jp£¬ÃÜÂëΪ111£©
htpasswd -b /home/.htpasswd test 222 £¨.htpasswdÎļþÖÐÌí¼ÓµÚ¶þ¸öÓû§£ºtest ÃÜÂëΪ222£©
#µÚÒ»´Î´´½¨Óû§ÒªÓõ½-c ²ÎÊý µÚ2´ÎÌí¼ÓÓû§£¬¾Í²»ÓÃ-c²ÎÊý£¬ÒòΪÒѾÓÐ.htpasswdÎļþ£¬¾Í²»ÓÃÔÙ´´½¨ÁË¡£-b±íʾ´ÓÃüÁîÐÐÖ±½Ó»ñÈ¡²ÎÊýÖµ£¬Ìí¼Óµ½ÑéÖ¤Îļþ.htpasswdÖÐ
Èç¹ûÏëÐÞ¸ÄÃÜÂ룬¿ÉÒÔÓÃÈçÏÂÃüÁ
htpasswd -m .htpasswd jp
¶Ô´æ·ÅÓÚ.htpasswdÎļþÖеÄÓû§jp½øÐпÚÁî¸ü¸Ä
apache·þÎñÆ÷ÈçºÎÉèÖÃÓòÃûºÍIPµØÖ·£¿
1¡¢ÕÒµ½apache°²×°Ä¿Â¼Ï£¬confÎļþ¼ÐϵÄhttpd.confÎļþ£¬ÓüÇʱ¾»òÆäËûÎı¾±à¼Èí¼þ´ò¿ª¡£2¡¢ÔÚÎļþÖÐËÑË÷¡±Include conf/extra/httpd-vhosts.conf¡°ÕâÒ»ÐУ¬È¥µôÇ°ÃæµÄ¡±#¡°£¬¿ªÆôÐéÄâÖ÷»ú¹¦ÄÜ¡£3¡¢ÕÒµ½apache°²×°Ä¿Â¼Ï£¬conf/extraÎļþ¼ÐÖеÄhttpd-vhosts.confÎļþ£¬ÓüÇʱ¾»òÆäËûÎı¾±à¼Èí¼þ´ò¿ª¡£4¡¢ÔÚÎļþµÄ×îºó£¬¼ÓÉÏÒÔÏ´úÂëºó±£´æ£ºServerName www.domain.comDocumentRoot D:/www/domainOptions +Indexes +Includes +FollowSymLinks +MultiViewsAllowOverride NoneOrder allow,denyAllow from allÆäÖУ¬80ÊÇ·þÎñÆ÷µÄ¶Ë¿Ú£¬ServerNameºóÃæµÄÊÇÓòÃû£¬DocumentRootºÍDirectoryºóÃæµÄÊÇÍøÕ¾³ÌÐòËùÔÚµÄĿ¼¡£5¡¢ÕÒµ½·þÎñÆ÷µÄhostsÎļþ£¬ÒÔWindowsϵͳΪÀý£¬ÔÚC:\windows\system32\drivers\etcĿ¼Ï£¬ÓüÇʱ¾»òÆäËûÎı¾±à¼Èí¼þ´ò¿ª¡£6¡¢ÔÚhostsÎļþµÄĩβÌí¼ÓÒ»ÐÐ126.63.36.3 www.domain.com£¬²¢±£´æ£¬ÖØÆô·þÎñºó¼´¿Éͨ¹ýÓòÃû·ÃÎÊ¡£
×°ÁËapache£¬ÔõôÈÃÆäËû¼ÆËã»ú·ÃÎÊÎÒµÄÍøÕ¾
ÐÞ¸Ähttpd.confµÄÅäÖþͿÉÒÔÁË¡£
¼ÓÈëÄãµÄipÊÇ192.168.0.11£¨ÕâÊÇÒ»¸ö¾ÖÓòÍøÄÚÍøip£©
ÄÇôÄãÐÞ¸ÄListenµÄÅäÖÃΪ
Listen 192.168.0.11:80
È»ºóÖØÆôapache£¬±ðÈ˾ͿÉÒÔÓÃhttp://192.168.0.11:80·ÃÎÊÄãdocumentRootÅäÖÃÖ¸¶¨µÄ·¾¶ÏµÄindex.htmlÁË¡£µ«ÊÇÕâÖ»ÏÞÓÚºÍÄãͬÔÚÒ»¸öÄÚÍøµÄÈË¿ÉÒÔ¡£
Èç¹ûÄãÏ£Íû»¥ÁªÍøÉϵÄÈËÒ²Äܹ»·ÃÎʵϰ£¬Äã¾ÍÐèÒªÒ»¸ö¶ÔÍâµÄ¹«Íøip£¬½èÖú»¨Éú¿ÇÕâÀàµÄÈí¼þ½øÐÐÒ»¸öip¶¯Ì¬°ó¶¨£¬Ïà¹ØµÄϸ½ÚÄã¿ÉÒÔÔÙÈ¥ËÑË÷һϡ£
thinkphpÖÐÔõô°ÑurlÖеÄindex.phpÈ¥µô
IIS»·¾³Èç¹ûÄãµÄ·þÎñÆ÷»·¾³Ö§³ÖISAPI_RewriteµÄ»°£¬¿ÉÒÔÅäÖÃhttpd.iniÎļþ£¬Ìí¼ÓÏÂÃæµÄÄÚÈÝ£ºRewriteRule (.*)$ /index\.php\?s=$1 [I]ÔÚIISµÄ¸ß°æ±¾ÏÂÃæ¿ÉÒÔÅäÖÃweb.Config£¬ÔÚÖмäÌí¼Órewrite½Úµã£ºÏÂÃæÊÇApacheµÄÅäÖùý³Ì£¬¿ÉÒԲο¼Ï£º1¡¢httpd.confÅäÖÃÎļþÖмÓÔØÁËmod_rewrite.soÄ£¿é2¡¢AllowOverride None ½«None¸ÄΪ All3¡¢È·±£URL_MODELÉèÖÃΪ24¡¢°ÑÏÂÃæµÄÄÚÈݱ£´æÎª.htaccessÎļþ·Åµ½Èë¿ÚÎļþµÄͬ¼¶Ä¿Â¼ÏÂRewriteEngine onRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]ÖØÆôApacheNginx»·¾³ÔÚNginxµÍ°æ±¾ÖУ¬ÊDz»Ö§³ÖPATHINFOµÄ£¬µ«ÊÇ¿ÉÒÔͨ¹ýÔÚNginx.confÖÐÅäÖÃת·¢¹æÔòʵÏÖ£º location / { // ¡..Ê¡ÂÔ²¿·Ö´úÂë if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; }}ÆäʵÄÚ²¿ÊÇת·¢µ½ÁËThinkPHPÌṩµÄ¼æÈÝģʽµÄURL£¬ÀûÓÃÕâÖÖ·½Ê½£¬¿ÉÒÔ½â¾öÆäËû²»Ö§³ÖPATHINFOµÄWEB·þÎñÆ÷»·¾³¡£Èç¹ûÄãµÄThinkPHP°²×°ÔÚ¶þ¼¶Ä¿Â¼£¬NginxµÄα¾²Ì¬·½·¨ÉèÖÃÈçÏ£¬ÆäÖÐyoudomainÊÇËùÔÚµÄĿ¼Ãû³Æ¡£ location /youdomain/ { if (!-e $request_filename){ rewrite ^/youdomain/(.*)$ /youdomain/index.php?s=$1 last; } }
ÈçºÎÒþ²ØurlÖеÄindex.php
µÚÒ»²½£º'URL_MODEL'=>'2',
µÚ¶þ²½£º¸ù·¾¶Ï½¨Á¢Ò»¸ö.htaccess£¬¿ÉÒÔͨ¹ýһЩÈí¼þ±ÈÈçEditPlusÈ¥Áí´æÎª£¬windows¿ÉÄܲ»ÄÜÖ±½Ó´´½¨
µÚÈý²½£º
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
·Åµ½.htaccessÖб£´æ
µÚËIJ½¿ªÆôApache rewrite ģʽ È¥ÅäÖÃÎļþÖС¡#LoadModule rewrite_module modules/mod_rewrite.so È¥µôÇ°ÃæµÄ#£¬AllowOverride None¸ÄΪAllowOverride All ok
µ±È»Èç¹ûÄã²»ÊÇApache ÊÇIIS¾Í²»ÄÜÕâÑùÅäÁË