[{"data":1,"prerenderedAt":232},["ShallowReactive",2],{"blog:\u002Fblog\u002F2013\u002F10\u002F05\u002Fapache-htaccess-301-401\u002F":3},{"id":4,"title":5,"body":6,"categories":217,"comments":219,"date":220,"description":221,"draft":222,"extension":223,"legacySlug":224,"meta":225,"navigation":219,"path":226,"seo":227,"stem":228,"tags":229,"updated":230,"__hash__":231},"blog\u002Fblog\u002F2013\u002F10\u002F05\u002Fapache-htaccess-301-401.md","[环境配置] Apache下htaccess使用技巧：301重定向、404错误等",{"type":7,"value":8,"toc":213},"minimark",[9,13,16,19,38,41,60,63,81,84,92,107,110,113,129,132,135,154,157,160,168,171,174,177,188,191,194,210],[10,11,12],"p",{},"换域名了，以前域名的收录怎么办？老域名的权重如何转移到新域名呢？百度搜索引擎优化手册里面说的是使用301永久重定向，那么如何灵活应用301重定向呢？下面就说说apache服务器下使用htaccess来实现301永久重定向的方法。  你是同一目录下的网站，还是不同目录下的网站，如果是同一目录下的网站，就必需要地址判断，以免出现“此网页包含重定向循环”；如何是不同目录下的网站，就可以直接弄转向，也就是所有来路域名都转；如果两域名在同一目录，请把伪静态规则放在 301的下面，即先转，再伪。",[10,14,15],{},"一、301 永久重定向：",[10,17,18],{},"1、所有链接重定向首页： 可新建一个 index.php     (两站不同目录)",[20,21,22,25,35],"ol",{},[23,24],"li",{},[23,26,27,28,34],{},"header('Location:",[29,30,31],"a",{"href":31,"rel":32},"http:\u002F\u002Fwww.zhizhi123.com",[33],"nofollow","');",[23,36,37],{},"?>",[10,39,40],{},"2、只首页重定向，贴子等都不重定向、不变",[20,42,43,46,49,57],{},[23,44,45],{},"RewriteEngine on",[23,47,48],{},"RewriteCond %{HTTP_HOST} ^zhizhi123.com$ [OR]",[23,50,51,52],{},"RewriteCond %{HTTP_HOST} ^",[29,53,56],{"href":54,"rel":55},"http:\u002F\u002Fwww.zhizhi123.com$",[33],"www.zhizhi123.com$",[23,58,59],{},"RewriteRule ^\u002F?$ \"http\\:\\\u002F\\\u002Fwww\\.zhizhi123\\.com\" [R=301,L]",[10,61,62],{},"注：只首页重定向，内页、目录不重定向，访问还是原地址。 [OR] 是 “或” 也就是使用带WWW和不带WWW的都转，应该可以加很多 [OR] 做条件。 如bbs子域名转 bbs目录转 注意， [OR]条件判断，如果只一个条件，请把  [OR] 去掉。不然有可能出现： “此网页包含重定向循环” (以上为两站同一目录下使用，如果网站不同目录，就不需要网址判断，直接使用最下一行) 注意：以上规则中： ^zhizhi123.com    表示：是 zhizhi123.com !^zhizhi123.com   表示：不是 zhizhi123.com [NC]  为不管大小写。 2、首页、贴子、目录都重定向zhizhi123.com 的首页、 或指定页：",[20,64,65,67,69,74],{},[23,66,45],{},[23,68,48],{},[23,70,51,71],{},[29,72,56],{"href":54,"rel":73},[33],[23,75,76,77,80],{},"RewriteRule ^(.*)$ ",[29,78,31],{"href":31,"rel":79},[33]," [R=301,L]",[10,82,83],{},"注：首页、内页、目录都重定向到zhizhi123.com的首页。 (以上为两站同一目录下使用，如果网站不同目录，就不需要网址判断，直接使用最下一行)",[10,85,86,87,91],{},"3、www域名 转 根域名 301。",[88,89,90],"strong",{},"这个是最常用的","，首页、贴子、目录，所有的都同步重定向：",[20,93,94,96,99],{},[23,95,45],{},[23,97,98],{},"RewriteCond %{HTTP_HOST} ^zhizhi123.com$ [NC]",[23,100,101,102,106],{},"RewriteRule ^(.*)$ \"",[29,103,104],{"href":104,"rel":105},"http:\u002F\u002Fwww.zhizhi123.com\u002F$1",[33],"\" [R=301,L]",[10,108,109],{},"注：首页、内页、链接将都重定向到另一站的相同链接。 (以上为两站同一目录下使用，如果网站不同目录，就不需要网址判断，直接使用最下一行)",[10,111,112],{},"4、A域名转B域名，首页、贴子、目录，所有的都同步重定向：",[20,114,115,117,119,124],{},[23,116,45],{},[23,118,48],{},[23,120,51,121],{},[29,122,56],{"href":54,"rel":123},[33],[23,125,101,126,106],{},[29,127,104],{"href":104,"rel":128},[33],[10,130,131],{},"注：首页、内页、链接将都转向到另一站的相同链接。 (以上为两站同一目录下使用，如果网站不同目录，就不需要网址判断，直接使用最下一行)",[10,133,134],{},"5、如果只子目录重定向，包括目录下的所有链接，其它的不重定向： 如：要把 zhizhi123.com\u002Fbbs 下重定向到 zhizhi123.com 来，但zhizhi123.com不重定向。 (以上为两站同一目录下使用，如果网站不同目录，就不需要网址判断，直接使用最下一行) (这个子目录转，判断语可不用，直接使用最后一行，子目录下的所有来路都转) 301转向，这个你就自己总结1、2、3、4，灵活应用吧！ ---------------------------------------------------------------- 以上为301把贴子、地址都重定向到新地址。 如果不需要贴子地址都重定向，只把域名重定向，那么，你只需用一首页文件 index.php 内容为：  （网址换成你要重定向到目标网址）",[20,136,137,139,142,145,152],{},[23,138],{},[23,140,141],{},"$url=\"\".$_SERVER[\"REQUEST_URI\"];",[23,143,144],{},"header(\"HTTP\u002F1.1 301 Moved Permanently\");",[23,146,147,148,151],{},"header(\"location:",[29,149,31],{"href":31,"rel":150},[33],"\");",[23,153,37],{},[10,155,156],{},"这方法为域名直接跳转，如需跳转到子目录，直接在网址加上子目录即可。 (两站不同目录) htaccess技巧  在 Linux 系统，支持 htaccess 规则下使用。 注：301转向.htaccess 的规则在 Linux 系统 Apache 上测试通过，但是在 Linux 系统 LiteSpeed 上出现 500错误等。或许不兼容。",[10,158,159],{},"二、建一个404.htm 文件传根目录 自动义 404、403 错误，在.htaccess里面添加",[20,161,162,165],{},[23,163,164],{},"ErrorDocument 404 \u002F404.htm",[23,166,167],{},"ErrorDocument 403 \u002F404.htm",[10,169,170],{},"注：可自己设定无法找到文件转到哪个页  后面的404.htm 可自行改。",[10,172,173],{},"三、.htaccess 设置默认首页： DirectoryIndex index.html index.php default.htm 注：有些空间，默认首页先后不同，自己想要把哪个先访问，可用此设置",[10,175,176],{},"四、.htaccess 禁止IP访问网站：",[20,178,179,182,185],{},[23,180,181],{},"Order Allow,Deny",[23,183,184],{},"Deny from 582.46.2.67",[23,186,187],{},"Allow from all",[10,189,190],{},"注：禁止 582.46.2.67 这个IP访问你的站点，可自己测试下禁止自己IP。 可应该在，如遇到服务器攻击，查出这个IP，禁止这个IP访问。",[10,192,193],{},"五、.htaccess 禁止图片、文件盗链：",[20,195,196,199,202],{},[23,197,198],{},"RewriteCond %{HTTP_REFERER} !^$ [NC]",[23,200,201],{},"RewriteCond %{HTTP_REFERER} !zhizhi123.com [NC]",[23,203,204,205,209],{},"RewriteRule \\.(gif|jpg|rar|zip)$ ",[29,206,207],{"href":207,"rel":208},"http:\u002F\u002Fzhizhi123.com\u002Flogo.gif",[33]," [R,L]",[10,211,212],{},"注：这部分是判断是否盗链， 即不是直接输入网址，又不是zhizhi123.com 网站上访问的， 那么就会 直接显示 logo.gif 图片   可自定义如 rar zip 盗链。",{"title":214,"searchDepth":215,"depth":215,"links":216},"",2,[],[218],"Apache",true,"2013-10-05 16:17:09","换域名了，以前域名的收录怎么办？老域名的权重如何转移到新域名呢？百度搜索引擎优化手册里面说的是使用301永久重定向，那么如何灵活应用301重定向呢？下面就说说apache服务器下使用htaccess来实现301永久重定向的方法。 你是同一目录下的网站，还是不同目录下的网站，如果是同一目录下的网站，就",false,"md","apache-htaccess-301-401",{},"\u002Fblog\u002F2013\u002F10\u002F05\u002Fapache-htaccess-301-401",{"title":5,"description":221},"blog\u002F2013\u002F10\u002F05\u002Fapache-htaccess-301-401",[218],null,"H-birWlvpZ0hA1gj0wpejzZtnL1VUDCM5PqSMP9ys54",1783807996124]