.htaccess指南
.htaccess指南->photoblog更新
我其实还是很臭美的,photoblog里就那么几张破照片,却变着法子想着被google收录,这个叫做本末倒置,嗯! :evil:不过思想斗争了半天,还是决定改写代码,毕竟照相的时间之后很多,但等google的robot爬完我的photoblog却可能需要数月时间。
现在,photoblog里面的网页基本上都是静态的啦
先来科普:
网页分动态网页和静态网页两种,一般说来动态的更为灵活,操作性更强大,更方便(所以我全换成动态平台了)。但是所有的搜索引擎爬虫对动态网页的抓取效果都不太好,所以为了更好的被搜索引擎系统的收录,最好的方法就是用静态网址来模拟动态网址。
我的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
----------------------------------------------------------------------------------------------
At 2006.01.24 01:38, Jun said:
只看到一半就晕菜了……
[Reply]