﻿{"id":27,"date":"2009-06-28T13:46:01","date_gmt":"2009-06-28T13:46:01","guid":{"rendered":""},"modified":"2011-11-18T16:49:30","modified_gmt":"2011-11-18T08:49:30","slug":"27","status":"publish","type":"post","link":"http:\/\/zerobox.org\/notes\/27.html","title":{"rendered":".htaccess\u4f7f\u7528\u8bf4\u660e"},"content":{"rendered":"<table style=\"table-layout: fixed;\">\n<tbody>\n<tr>\n<td>\n<div id=\"blog_text\" class=\"cnt\">\n<p class=\"t_msgfont\">.htaccess\u53ef\u4ee5\u505a\u5927\u91cf\u8303\u56f4\u7684\u4e8b\u60c5\uff0c\u5305\u62ec\uff1a\u6587\u4ef6\u5939\u5bc6\u7801\u4fdd\u62a4\u3001\u7528\u6237\u81ea\u52a8\u91cd\u65b0\u6307\u5411\u3001\u81ea\u5b9a\u4e49\u9519\u8bef\u9875\u9762\u3001\u53d8\u66f4\u4f60\u7684\u6587\u4ef6\u6269\u5c55\u540d\u3001\u5c4f\u853d\u7279\u5b9a\u7684\u7528\u6237IP\u5730\u5740\u3001\u53ea\u5141\u8bb8\u7279\u5b9a\u7684IP\u5730\u5740\u3001\u505c\u6b62\u76ee\u5f55\u8868\u4ee5\u53ca\u4f7f\u7528\u5176\u4ed6\u6587\u4ef6\u4f5c\u4e3aindex\u6587\u4ef6\uff0c\u7b49\u7b49\u2026\u2026<\/p>\n<p><strong>1. Introduction \u4ecb\u7ecd<\/strong><br \/>\n\u6587\u4ef6\u540d .htaccess \u5c5e\u6027 644 (RW-R\u2013R\u2013)<br \/>\nhtaccess\u4f1a\u5f71\u54cd\u5b83\u6240\u5728\u76ee\u5f55\u4e0b\u7684\u6240\u6709\u5b50\u76ee\u5f55<br \/>\n\u6ce8\u610f\u5927\u591a\u6570\u5185\u5bb9\u90fd\u8981\u6c42\u4fdd\u6301\u5728\u4e00\u884c\u4e4b\u5185\uff0c\u4e0d\u8981\u6362\u884c\uff0c\u5426\u5219\u4f1a\u5f15\u8d77\u9519\u8bef<\/p>\n<p><strong>2. Error Documents \u9519\u8bef\u6587\u6863<\/strong><br \/>\nOfficial document: ErrorDocument Directive<br \/>\nErrorDocument code document<br \/>\n\u4f8b\u5b50<br \/>\nErrorDocument 400 \/errors\/badrequest.html<br \/>\nErrorDocument 404 http:\/\/yoursite\/errors\/notfound.html<br \/>\nErrorDocument 401 \u201cAuthorization Required\u201d<br \/>\n(\u6ce8\u610f\u4e4b\u540e\u5185\u5bb9\u5982\u679c\u51fa\u73b0\u7684\u53cc\u5f15\u53f7\u9700\u8981\u8f6c\u4e49\u4e3a \u201d)<br \/>\n\u5e38\u89c1HTTP\u72b6\u6001\u7801<br \/>\nSuccessful Client Requests<br \/>\n200 OK<br \/>\n201 Created<br \/>\n202 Accepted<br \/>\n203 Non-Authorative Information<br \/>\n204 No Content<br \/>\n205 Reset Content<br \/>\n206 Partial Content<br \/>\nClient Request Redirected<br \/>\n300 Multiple Choices<br \/>\n301 Moved Permanently<br \/>\n302 Moved Temporarily<br \/>\n303 See Other<br \/>\n304 Not Modified<br \/>\n305 Use Proxy<br \/>\nClient Request Errors<br \/>\n400 Bad Request<br \/>\n401 Authorization Required<br \/>\n402 Payment Required (not used yet)<br \/>\n403 Forbidden<br \/>\n404 Not Found<br \/>\n405 Method Not Allowed<br \/>\n406 Not Acceptable (encoding)<br \/>\n407 Proxy Authentication Required<br \/>\n408 Request Timed Out<br \/>\n409 Conflicting Request<br \/>\n410 Gone<br \/>\n411 Content Length Required<br \/>\n412 Precondition Failed<br \/>\n413 Request Entity Too Long<br \/>\n414 Request URI Too Long<br \/>\n415 Unsupported Media Type<br \/>\nServer Errors<br \/>\n500 Internal Server Error<br \/>\n501 Not Implemented<br \/>\n502 Bad Gateway<br \/>\n503 Service Unavailable<br \/>\n504 Gateway Timeout<br \/>\n505 HTTP Version Not Supported<\/p>\n<p><strong>3. Password Protection \u5bc6\u7801\u4fdd\u62a4<\/strong><br \/>\nOfficial document: Authentication, Authorization and Access Control<br \/>\n\u5047\u8bbe\u5bc6\u7801\u6587\u4ef6\u4e3a.htpasswd<br \/>\nAuthUserFile \/usr\/local\/safedir\/.htpasswd (\u8fd9\u91cc\u5fc5\u987b\u4f7f\u7528\u5168\u8def\u5f84\u540d)<br \/>\nAuthName EnterPassword<br \/>\nAuthType Basic<br \/>\n\u4e24\u79cd\u5e38\u89c1\u9a8c\u8bc1\u65b9\u5f0f:<br \/>\nRequire user windix<br \/>\n(\u4ec5\u5141\u8bb8\u7528\u6237windix\u767b\u9646)<br \/>\nRequire valid-user<br \/>\n(\u6240\u6709\u5408\u6cd5\u7528\u6237\u90fd\u53ef\u767b\u9646)<br \/>\nTip: \u5982\u4f55\u751f\u6210\u5bc6\u7801\u6587\u4ef6<br \/>\n\u4f7f\u7528htpasswd\u547d\u4ee4(apache\u81ea\u5e26)<br \/>\n\u7b2c\u4e00\u6b21\u751f\u6210\u9700\u8981\u521b\u5efa\u5bc6\u7801\u6587\u4ef6<br \/>\nhtpasswd -c .htpasswd user1<br \/>\n\u4e4b\u540e\u589e\u52a0\u65b0\u7528\u6237<br \/>\nhtpasswd .htpasswd user2<\/p>\n<p><strong>4. Enabling SSI Via htaccess \u901a\u8fc7htaccess\u5141\u8bb8SSI(Server Side Including)\u529f\u80fd<\/strong><br \/>\nAddType text\/html .shtml<br \/>\nAddHandler server-parsed .shtml<br \/>\nOptions Indexes FollowSymLinks Includes<br \/>\nDirectoryIndex index.shtml index.html<\/p>\n<p><strong>5. Blocking users by IP \u6839\u636eIP\u963b\u6b62\u7528\u6237\u8bbf\u95ee<\/strong><br \/>\norder allow,deny<br \/>\ndeny from 123.45.6.7<br \/>\ndeny from 12.34.5. (\u6574\u4e2aC\u7c7b\u5730\u5740)<br \/>\nallow from all<\/p>\n<p><strong>6. Blocking users\/sites by referrer \u6839\u636ereferrer\u963b\u6b62\u7528\u6237\/\u7ad9\u70b9\u8bbf\u95ee<\/strong><br \/>\n\u9700\u8981mod_rewrite\u6a21\u5757<br \/>\n\u4f8b1. \u963b\u6b62\u5355\u4e00referrer: badsite.com<br \/>\nRewriteEngine on<br \/>\n# Options +FollowSymlinks<br \/>\nRewriteCond %{HTTP_REFERER} badsite.com [NC]<br \/>\nRewriteRule .* &#8211; [F]<br \/>\n\u4f8b2. \u963b\u6b62\u591a\u4e2areferrer: badsite1.com, badsite2.com<br \/>\nRewriteEngine on<br \/>\n# Options +FollowSymlinks<br \/>\nRewriteCond %{HTTP_REFERER} badsite1.com [NC,OR]<br \/>\nRewriteCond %{HTTP_REFERER} badsite2.com<br \/>\nRewriteRule .* &#8211; [F]<br \/>\n[NC] &#8211; \u5927\u5c0f\u5199\u4e0d\u654f\u611f(Case-insensite)<br \/>\n[F] &#8211; 403 Forbidden<br \/>\n\u6ce8\u610f\u4ee5\u4e0a\u4ee3\u7801\u6ce8\u91ca\u6389\u4e86\u201dOptions +FollowSymlinks\u201d\u8fd9\u4e2a\u8bed\u53e5\u3002\u5982\u679c\u670d\u52a1\u5668\u672a\u5728 httpd.conf \u7684 \u6bb5\u843d\u8bbe\u7f6e FollowSymLinks, \u5219\u9700\u8981\u52a0\u4e0a\u8fd9\u53e5\uff0c\u5426\u5219\u4f1a\u5f97\u5230\u201d500 Internal Server error\u201d\u9519\u8bef\u3002<\/p>\n<p><strong>7. Blocking bad bots and site rippers (aka offline browsers) \u963b\u6b62\u574f\u722c\u866b\u548c\u79bb\u7ebf\u6d4f\u89c8\u5668<\/strong><br \/>\n\u9700\u8981mod_rewrite\u6a21\u5757<br \/>\n\u574f\u722c\u866b? \u6bd4\u5982\u4e00\u4e9b\u6293\u5783\u573eemail\u5730\u5740\u7684\u722c\u866b\u548c\u4e0d\u9075\u5b88robots.txt\u7684\u722c\u866b(\u5982baidu?)<br \/>\n\u53ef\u4ee5\u6839\u636e HTTP_USER_AGENT \u6765\u5224\u65ad\u5b83\u4eec<br \/>\n(\u4f46\u662f\u8fd8\u6709\u66f4\u65e0\u803b\u7684\u5982\u201d\u4e2d\u641c zhongsou.com\u201d\u4e4b\u6d41\u628a\u81ea\u5df1\u7684agent\u8bbe\u7f6e\u4e3a \u201cMozilla\/4.0 (compatible; MSIE 5.5; Windows NT 5.0)\u201d \u592a\u6d41\u6c13\u4e86\uff0c\u5c31\u65e0\u80fd\u4e3a\u529b\u4e86)<br \/>\nRewriteEngine On<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Bot mailto:craftbot@yahoo.com [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Custo [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^DISCo [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Download Demon [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^eCatch [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Express WebPictures [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^GetRight [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Grafula [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^HMView [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Image Stripper [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Image Sucker [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} Indy Library [NC,OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^InterGET [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Internet Ninja [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^JetCar [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^JOC Web Spider [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^larbin [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Mass Downloader [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^MIDown tool [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Mister PiX [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Navroad [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^NearSite [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Net Vampire [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Octopus [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Offline Explorer [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Offline Navigator [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Papa Foto [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^pavuk [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^ReGet [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Teleport Pro [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Web Image Collector [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Web Sucker [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^WebGo IS [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Website eXtractor [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Website Quester [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Wget [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Widow [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Xaldon WebSpider [OR]<br \/>\nRewriteCond %{HTTP_USER_AGENT} ^Zeus<br \/>\nRewriteRule ^.* &#8211; [F,L]<br \/>\n[F] &#8211; 403 Forbidden<br \/>\n[L] &#8211; \u8fde\u63a5(Link)<\/p>\n<p><strong>8. Change your default directory page \u6539\u53d8\u7f3a\u7701\u76ee\u5f55\u9875\u9762<\/strong><br \/>\nDirectoryIndex index.html index.php index.cgi index.pl<\/p>\n<p><strong>9. Redirects \u8f6c\u5411<\/strong><br \/>\n\u5355\u4e2a\u6587\u4ef6<br \/>\nRedirect \/old_dir\/old_file.html <a href=\"http:\/\/yoursite.com\/new_dir\/new_file.html\" target=\"_blank\">http:\/\/yoursite.com\/new_dir\/new_file.html<\/a><br \/>\n\u6574\u4e2a\u76ee\u5f55<br \/>\nRedirect \/old_dir <a href=\"http:\/\/yoursite.com\/new_dir\" target=\"_blank\">http:\/\/yoursite.com\/new_dir<\/a><br \/>\n\u6548\u679c: \u5982\u540c\u5c06\u76ee\u5f55\u79fb\u52a8\u4f4d\u7f6e\u4e00\u6837<br \/>\n<a href=\"http:\/\/yoursite.com\/old_dir\" target=\"_blank\">http:\/\/yoursite.com\/old_dir<\/a> -&gt; <a href=\"http:\/\/yoursite.com\/new_dir\" target=\"_blank\">http:\/\/yoursite.com\/new_dir<\/a><br \/>\n<a href=\"http:\/\/yoursite.com\/old_dir\/dir1\/test.html\" target=\"_blank\">http:\/\/yoursite.com\/old_dir\/dir1\/test.html<\/a> -&gt; <a href=\"http:\/\/yoursite.com\/new_dir\/dir1\/test.html\" target=\"_blank\">http:\/\/yoursite.com\/new_dir\/dir1\/test.html<\/a><br \/>\nTip: \u4f7f\u7528\u7528\u6237\u76ee\u5f55\u65f6Redirect\u4e0d\u80fd\u8f6c\u5411\u7684\u89e3\u51b3\u65b9\u6cd5<br \/>\n\u5f53\u4f60\u4f7f\u7528Apache\u9ed8\u8ba4\u7684\u7528\u6237\u76ee\u5f55\uff0c\u5982 <a href=\"http:\/\/mysite.com\/%7Ewindix\" target=\"_blank\">http:\/\/mysite.com\/~windix<\/a>\uff0c\u5f53\u4f60\u60f3\u8f6c\u5411 <a href=\"http:\/\/mysite.com\/%7Ewindix\/jump\" target=\"_blank\">http:\/\/mysite.com\/~windix\/jump<\/a>\u65f6\uff0c\u4f60\u4f1a\u53d1\u73b0\u4e0b\u9762\u8fd9\u4e2aRedirect\u4e0d\u5de5\u4f5c:<br \/>\nRedirect \/jump <a href=\"http:\/\/www.google.com\/\" target=\"_blank\">http:\/\/www.google.com<\/a><br \/>\n\u6b63\u786e\u7684\u65b9\u6cd5\u662f\u6539\u6210<br \/>\nRedirect \/~windix\/jump <a href=\"http:\/\/www.google.com\/\" target=\"_blank\">http:\/\/www.google.com<\/a><br \/>\n(source: .htaccess Redirect in \u201cSites\u201d not redirecting: why?<br \/>\n)<\/p>\n<p><strong>10. Prevent viewing of .htaccess file \u9632\u6b62.htaccess\u6587\u4ef6\u88ab\u67e5\u770b<\/strong><br \/>\norder allow,deny<br \/>\ndeny from all<\/p>\n<p><strong>11. Adding MIME Types \u6dfb\u52a0 MIME \u7c7b\u578b<\/strong><br \/>\nAddType application\/x-shockwave-flash swf<br \/>\nTips: \u8bbe\u7f6e\u7c7b\u578b\u4e3a application\/octet-stream \u5c06\u63d0\u793a\u4e0b\u8f7d<\/p>\n<p><strong>12. Preventing hot linking of images and other file types \u9632\u76d7\u94fe<\/strong><br \/>\n\u9700\u8981mod_rewrite\u6a21\u5757<br \/>\nRewriteEngine on<br \/>\nRewriteCond %{HTTP_REFERER} !^$<br \/>\nRewriteCond %{HTTP_REFERER} !^http:\/\/(www\/.)?mydomain.com\/.*$ [NC]<br \/>\nRewriteRule .(gif|jpg|js|css)$ &#8211; [F]<br \/>\n\u89e3\u6790:<br \/>\n\u82e5 HTTP_REFERER \u975e\u7a7a (\u6765\u6e90\u4e3a\u5176\u4ed6\u7ad9\u70b9\uff0c\u975e\u76f4\u63a5\u8fde\u63a5) \u5e76\u4e14<br \/>\n\u82e5 HTTP_REFERER \u975e(www.)mydomain.com\u5f00\u5934(\u5ffd\u7565\u5927\u5c0f\u5199[NC]) (\u6765\u6e90\u975e\u672c\u7ad9)<br \/>\n\u5bf9\u4e8e\u6240\u6709\u542b\u6709 .gif\/.jpg\/.js\/.css \u7ed3\u5c3e\u7684\u6587\u4ef6\u7ed9\u51fa 403 Forbidden \u9519\u8bef[F]<br \/>\n\u4e5f\u53ef\u6307\u5b9a\u54cd\u5e94\uff0c\u5982\u4e0b\u4f8b\u663e\u793a\u66ff\u6362\u56fe\u7247<br \/>\nRewriteRule .(gif|jpg)$ [R,L]<br \/>\n[R] &#8211; \u8f6c\u5411(Redirect)<br \/>\n[L] &#8211; \u8fde\u63a5(Link)<\/p>\n<p><strong>13. Preventing Directory Listing \u9632\u6b62\u76ee\u5f55\u5217\u8868\u65f6\u663e\u793a<\/strong><br \/>\nIndexIgnore *<br \/>\nIndexIgnore *.jpg *.gif<br \/>\nTips:<br \/>\n\u5141\u8bb8\u76ee\u5f55\u5217\u8868\u663e\u793a: Options +Indexes<br \/>\n\u7981\u6b62\u76ee\u5f55\u5217\u8868\u663e\u793a: Options -Indexes<br \/>\n\u663e\u793a\u63d0\u793a\u4fe1\u606f: \u9875\u9996 \u6587\u4ef6HEADER, \u9875\u5c3e \u6587\u4ef6README<\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>.htaccess\u53ef\u4ee5\u505a\u5927\u91cf\u8303\u56f4\u7684\u4e8b\u60c5\uff0c\u5305\u62ec\uff1a\u6587\u4ef6\u5939\u5bc6\u7801\u4fdd\u62a4\u3001\u7528\u6237\u81ea\u52a8\u91cd\u65b0\u6307\u5411\u3001 &hellip;<\/p>\n<p class=\"read-more\"><a href=\"http:\/\/zerobox.org\/notes\/27.html\">\u7ee7\u7eed\u9605\u8bfb &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[89],"class_list":["post-27","post","type-post","status-publish","format-standard","hentry","tag-htaccess"],"views":776,"_links":{"self":[{"href":"http:\/\/zerobox.org\/notes\/wp-json\/wp\/v2\/posts\/27","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/zerobox.org\/notes\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/zerobox.org\/notes\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/zerobox.org\/notes\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/zerobox.org\/notes\/wp-json\/wp\/v2\/comments?post=27"}],"version-history":[{"count":0,"href":"http:\/\/zerobox.org\/notes\/wp-json\/wp\/v2\/posts\/27\/revisions"}],"wp:attachment":[{"href":"http:\/\/zerobox.org\/notes\/wp-json\/wp\/v2\/media?parent=27"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/zerobox.org\/notes\/wp-json\/wp\/v2\/categories?post=27"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/zerobox.org\/notes\/wp-json\/wp\/v2\/tags?post=27"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}