常见问题 官方日志 感受领先的论坛体验 Bo-blog 说明文档
Bo-Blog空间解决方案 500M/200元官方主机
高性价比、可半年付款
美国主机200元起 Bo-blog专用美国主机
365元/年
返回列表 回复 发帖

从2.0.3过渡到2.1.0 [Part 2]

2. 链接形式的改变bo-blog,boblog,博客,日志,php,mysql! V* t  K3 q* A0 r
链接的格式对于搜索引擎而言,是影响收录情况的重要因素。bo-blog,boblog,博客,日志,php,mysql% j+ `& E" K( h  y: p

/ b( Q  y5 m/ h. U8 @, R' F1 tphp|blog|优秀的单用户博客程序|2.0.3的链接有三种形式:优秀的php单用户blog程序; ?. F8 x( R% D6 O6 G3 Q% V" i% w/ W; E
默认形式(Ugly URL):单篇日志链接为 example.com/read.php?1 ,其他页面的链接形式为 example.com/index.php?mode=1&page=1
- v1 j8 B" ]/ `5 a3 k4 o基于PHP的优化形式(Pathinfo Rewrite):单篇日志链接为 example.com/read.php/1.htm,其他页面链接同默认形式php|blog|优秀的单用户博客程序|  B( ^" E/ f0 O$ n% Z7 h/ C" O% O
Apache URL Rewrite形式:单篇日志链接为 example.com/post/1.htm,其他页面链接如 example.com/index_1_1.htmbo-blog,boblog,博客,日志,php,mysql- V# d2 i" _% I) H
这三种链接形式中,Apache Rewrite是最佳形式,也更为美观。但需要Apache服务器支持。鉴于国内大多数服务器(尤其是全能型)均运行于Windows系统,采用IIS,所以无缘使用这一功能。
* S$ W* [9 p. U% P7 f7 T" v9 Dphp|blog|优秀的单用户博客程序|php|blog|优秀的单用户博客程序|! r, j; L* h- Y
2.1.0对链接形式进行了比较大幅度的更改,使其更便于理解,也在一定程度上更利于搜索引擎的收录。Bo-Blog讨论站5 `( k" t. T5 H+ @7 |/ \) K, c; H
" g! {5 Q1 A3 \4 H
2.1.0的链接仍然是三种形式,但是优化的方案有所变动。其中最大的变化在于引入了“为日志自定义别名”的概念。设定某篇日志的别名后,这个名字将作为日志链接的一部分出现。例如,对于自定义的别名 test,Pathinfo Rewrite模式下将生成一个PHP转向文件,使该日志链接变为 example.com/post/test.php ;而在高级URL Rewrite模式下,日志的链接形式为 example.com/test/ 。
" I& \  z# y- I  f3 {0 Ebo-blog,boblog,博客,日志,php,mysql. b  h1 k, F- S2 D
基于PHP的优化形式涵盖了更大的范围,通过一个 go.php 文件进行更多的链接优化。例如,上例中提到的页面,其链接形式将不再是Ugly URL,而是 example.com/go.php/page/1/1/ 。bo-blog,boblog,博客,日志,php,mysql) `; N/ R0 w% e3 S8 r: @4 P
bbs.bo-blog.com* v3 O) T8 H- F2 R( `
高级URL Rewrite也同样更改了链接形式,将看到诸如 example.com/page/1/1/ 这样的形式。& S& h7 k# f0 K4 ]  P, p2 B9 s

; `( C- u4 L: Z/ Pbbs.bo-blog.com之所以绝大多数的链接都被优化成了路径结构而不是伪装成htm文件,是因为综合多位专业人士的意见,路径结构更利于搜索引擎的收录,当然视觉上也更整齐。
9 L2 c: X1 L& r" B+ m8 Y; S1 O
/ T4 a0 G' E& Z0 l1 Abo-blog,boblog,博客,日志,php,mysql您不用担心链接形式的转变对访客带来不利影响。经过处理,如果访客请求了一个旧形式的Rewrite链接,例如 example.com/index_1_1.htm,他将被自动带向 example.com/page/1/1/ ,而且他的浏览器(或者搜索引擎的蜘蛛)会收到一个 HTTP 301 (网址永久更改)的信号。bo-blog,boblog,博客,日志,php,mysql0 ]- E: i4 a; |
bbs.bo-blog.com7 z9 d8 X; ?0 ?& B* W7 e1 e) @
至于原先的 Ugly URL,则仍然可以正常访问,因为Ugly URL是基础的链接形式,URL Rewrite的过程其实也是在服务器内部重新解释了请求的链接,“转向”Ugly URL而已。
( [( U- h/ e1 x1 f  fbbs.bo-blog.com- H9 n$ K6 y) X- E% H4 z! t1 `
URL优化形式可以在后台的杂项设置菜单中找到。
+ i. i5 @; O3 ?# Gphp|blog|优秀的单用户博客程序|bo-blog,boblog,博客,日志,php,mysql1 T" B% e, |2 W# a! x
要正常启用基于PHP的URL优化功能,服务器必须是Linux类系统,或者是PHP版本大于4.3、且PHP以ISAPI模式运行的Windows系统。也就是说,除了一部分以CGI模式运行PHP的Windows服务器,一般的服务器都能打开这一功能。
% {1 `6 Z) c8 N7 c: Z1 e& ^, y4 wbbs.bo-blog.com, K2 b* w* a1 z+ s. p+ \# X
要正常启用高级URL优化功能,需要有启用了Rewrite Mod的Apache服务器,或者安装了ISAPI Rewrite插件的Windows IIS服务器。两者都需要配备专门的rewrite文件。Apache的 .htaccess 文件的重写规则可以在后台生成,只需将这些规则复制另存为 .htaccess 文件,上传到网站就可以了。IIS的rewrite文件我们没有提供,因为目前IIS没有官方统一的rewrite插件,各个插件的规则写法均有所区别,可能您需要对照Apache的 .htaccess 文件做相应的修改。
# F: T- Q4 j6 X/ w) `) ubbs.bo-blog.com
( j+ H* C0 u4 s( b, ~; [Bo-Blog讨论站如果您有服务器IIS的控制权,您也可以在不安装任何ISAPI 插件的情况下,利用下面提供的这个方法实现Rewrite的支持。(当然这个文件是给Bo-Blog 2.1专用的,其他程序的Rewrite可能还需要您安装ISAPI插件实现)
% H; S- W' Q2 u7 u. F6 n# e. h
4 A' ]4 G, _2 A* E3 Xphp|blog|优秀的单用户博客程序|实现方式如下:
; J% b) [$ @9 m优秀的php单用户blog程序A 下载附件,用文本编辑器打开其中的 iisrewrite.php 文件,将开头处的:
* |: j, A: X$ `' R+ \- Rphp|blog|优秀的单用户博客程序|$blogdir='blog/';bo-blog,boblog,博客,日志,php,mysql* u: T& a/ ?, X7 g4 \& B# x
修改为bo-blog的安装目录。比如 bbs.bo-blog.com! d( R) Q. j; v1 n
$blogdir='weblog/';
  p* a9 g* _. }1 E优秀的php单用户blog程序(如果安装在根目录下,写成 $blogdir=''; 否则需如上例一样,在路径结束处添加斜杠)php|blog|优秀的单用户博客程序|0 b8 @8 X' }' s4 \# N9 j
然后将这个文件上传到网站的 wwwroot 下。
/ i0 M& T2 B1 f8 E' @php|blog|优秀的单用户博客程序|Bo-Blog讨论站. x) h, J; ^6 s& W' n; v
B运行IISAdmin,如图,对需要rewrite的网站做相应设置。在自定义错误选单中,找到“404”错误的选项,编辑其属性,设置消息类型为:URL(重要,必须设置为URL,否则将导致服务器对不存在的页面给出404响应,而设置为URL后,rewrite后的页面的HTTP响应为正常的200)。地址设置为 /iisrewrite.php。Bo-Blog讨论站- D4 a9 C9 _3 O: l' R5 r7 u
setiis.gif
2007-9-1 00:12

iisrewrite.zip (1.12 KB)

还没睡啊?bbs.bo-blog.com; B! O7 n8 C4 a$ O7 u0 N1 a
辛苦了。。
6 _- H6 o, ~$ N- }/ Kbbs.bo-blog.com
# V' r, e6 y/ R7 hBo-Blog讨论站
我的只有支持一个404怎么办?!

只有htm,html

[1]请先将您自定义的404错误提示网页文件传至wwwroot目录下或wwwroot目录下的其它目录下, S4 T# Q% \$ Y) c$ C6 ~' q# \
[2]如您的页面是err404.htm且传到wwwroot/errorpath/下,您只需在上面编辑框中输入errorpath/err404.htm按设置即可
4 y# F6 [* A8 o; T2 H- {bo-blog,boblog,博客,日志,php,mysql[3]错误提示网页只能为.htm、.html等纯网页文件。留空则使用系统默认值
能不能在404.htm这个页里面就一个跳转,转到iisrewirte.pp这个页?

我用了这个方法不行,返回404错误!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
) ?  v3 b! L% j& X0 P* ~bbs.bo-blog.com<html xmlns="http://www.w3.org/1999/xhtml">
7 ^3 I/ m* ]. z1 sBo-Blog讨论站<head>
: F* O# b7 k$ @) U' b5 mbbs.bo-blog.com<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />bo-blog,boblog,博客,日志,php,mysql3 M: }$ G: M# t) u
<title>Untitled Document</title>
  ]0 c6 S& w% d! F+ K2 Tbo-blog,boblog,博客,日志,php,mysql<script type="text/JavaScript">bbs.bo-blog.com+ k1 {' I; g8 ^% [1 D3 W
<!--
2 ]5 y, X/ X9 {Bo-Blog讨论站function MM_goToURL() { //v3.0
: y& ~- \, t* v) b2 s2 s$ ?Bo-Blog讨论站  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
, ?6 j, O8 \/ O; ]( E优秀的php单用户blog程序  for (i=0; i<(args.length-1); i+=2) eval(args+".location='"+args[i+1]+"'");
. |, n# `' B; K, R2 U0 nbo-blog,boblog,博客,日志,php,mysql}
- E" s  E' y% X) {* Y1 ?php|blog|优秀的单用户博客程序|//-->bo-blog,boblog,博客,日志,php,mysql4 V- r* _: s& p: l
</script>Bo-Blog讨论站5 i, O0 k1 {: n, Y
</head>
* p$ f' q* n2 ?1 F3 fbo-blog,boblog,博客,日志,php,mysql<body onload="MM_goToURL('parent','/iisrewrite.php');return document.MM_returnValue">, u* r& j: w' Q: u
正在转入
" ^! Z6 N5 u' nbbs.bo-blog.com</body>bo-blog,boblog,博客,日志,php,mysql1 O4 _; ]: A( W% O% v2 ^
</html>
js有没有跟404相关的函数呢?!
必须是IIS 管理界面设置。
3 I5 T$ S( i! \% uphp|blog|优秀的单用户博客程序|bo-blog,boblog,博客,日志,php,mysql: B; o  b! D4 J4 j* G, J1 s; ]
空间商给你的自定义404功能是不可以的。
原帖由 bob 于 2007-9-1 16:39 发表 Bo-Blog讨论站- ~2 a  i: z8 [( y
必须是IIS 管理界面设置。
% h9 z; Y. l2 [1 ^1 ephp|blog|优秀的单用户博客程序|bo-blog,boblog,博客,日志,php,mysql6 a: |- E4 c% @2 x& c
空间商给你的自定义404功能是不可以的。
Bo-Blog讨论站6 U# R) J. ]$ u

6 ?& |/ u9 k) z  f% x; v, W: pphp|blog|优秀的单用户博客程序|beta1版的,我就是在空间的控制面板上定义的404, 没任何问题, 但更新以后,重新上传了iisrewrite.php就不行了
我漏了一步,没修改文件, 现在可以了
返回列表