Jan 23, 2006

.htaccess指南

.htaccess指南->photoblog更新

我其实还是很臭美的,photoblog里就那么几张破照片,却变着法子想着被google收录,这个叫做本末倒置,嗯! :evil: 不过思想斗争了半天,还是决定改写代码,毕竟照相的时间之后很多,但等google的robot爬完我的photoblog却可能需要数月时间。

现在,photoblog里面的网页基本上都是静态的啦 :mrgreen:

先来科普:
网页分动态网页和静态网页两种,一般说来动态的更为灵活,操作性更强大,更方便(所以我全换成动态平台了)。但是所有的搜索引擎爬虫对动态网页的抓取效果都不太好,所以为了更好的被搜索引擎系统的收录,最好的方法就是用静态网址来模拟动态网址。

我的photoblog用的是pixelpost,一个MySQL+php的动态发布平台,它对静态网页模拟支持不好。所以这就是我要改代码的原因了。

这次改写利用的是Apache HTTP Server的rewrite模块。其方法就是利用在根目录下的.htaccess文件来重定向网页。
原理其实很简单,就是在该文件中定义一些重定向。
举例:

RewriteRule ^abc$ def
RewriteRule ^sun$ QmQ

如果你在.htaccess文件中定义了上述的指令,那么当有人访问你的网页时,如果链接中包含字符"abc",那么系统就会解析成def,如果包含"sun",就会解析成"QmQ"。
不过真的改写起来,还是很恐怖的。首先要总结除了要想办法归纳总结这个htaccess文件外,还要在数千行源代码中找出需要更改的动态链接,并改写成符合规则的方式。更具体的规则,参见网页

下面是我photoblog根目录下的.htaccess文件,如果谁想用piexlpost来架设自己的photoblog时候,可以参考一下。
----------------------------------------------------------------------------------------------

Options -Indexes
RewriteEngine on
RewriteBase /
RewriteRule ^(browse|about)$ index.php?x=$1&pagenum=1
RewriteRule ^browse/([0-9]+)$ index.php?x=browse&category=&pagenum=$1
RewriteRule ^browse/category/([0-9]+)/([0-9]+)$ index.php?x=browse&category=$1&pagenum=$2
RewriteRule ^browse/category/([0-9]+)$ index.php?x=browse&category=$1&pagenum=1
RewriteRule ^comment/([0-9]+)$ index.php?popup=comment&showimage=$1
RewriteRule ^comment/submit$ index.php?x=save_comment
RewriteRule ^photo/([0-9]+)$ index.php?showimage=$1
RewriteRule ^collage$ index.php?x=collage
RewriteRule ^photo/([0-9]+)/rating/([1-5])$ index.php?showimage=$1&rating=$2
RewriteRule ^photo/file/(.+)$ /images/$1
RewriteRule ^thumbnails/latest$ index.php?showthumb=latest&thumbtag=image
RewriteRule ^feeds/(rss|atom).xml$ index.php?x=$1
RewriteRule ^browse/archive/(.*)/(.*)/([0-9]+)$ index.php?x=browse&archivedate=$1&monthname=$2&pagenum=$3
RewriteRule ^browse/archive/(.*)/(.*)$ index.php?x=browse&archivedate=$1&monthname=$2&pagenum=1
RewriteRule ^browse/archive/(.*)/([0-9]+)$ index.php?x=browse&archivedate=$1&pagenum=$2
RewriteRule ^browse/archive/(.*)$ index.php?x=browse&archivedate=$1&pagenum=1
RewriteRule ^browse/calendar/([0-9]+)/([0-9]+)/([0-9]+)$ index.php?curr_month=$1&curr_year=$2&showimage=$3
RewriteRule ^sitemap.xml$ index.php?z=sitemap

----------------------------------------------------------------------------------------------

Text alternative

Tags:
Post by SUN @ 3:45 am | 与时俱进, 网站更新 | Comment (1) | Add to del.icio.us | Digg This!
  • At 2006.01.24 01:38, Jun said:

    只看到一半就晕菜了…… :cry:

    [Reply]      

(Required)
(Required, will not be published)