WebBlog:路杨 中标签为 “htaccess” 的文件

伪静态化,好象是个说的很多的话题,就本站来讲, LB 的伪静态化,MT tag的伪静态化,MT search 的伪静态化等等。 一个目标就是 SEO 吧:) 另外一个目标就是“用户友好”。这些大多数都是通过 ".htaccess" 来完成的。MediaWiki 也不例外。

MediaWiki 的默认联结是 index.php?title=XXXXX,要让变成 show/XXXXX样式,用.htaccess设置起来很简单:
在 .htaccess 中添加以下规则


RewriteEngine on
RewriteRule show/(.+) /pathtoWiki/index.php?title=$1

然后修改LocalSettings.php 中 $wgArticlePath 的值

$wgArticlePath = "$wgScriptPath/show/$1";

这样就大功告成。

但是,这样似乎并不是效率最高的。
效率最高的办法是不用地址重写:
1.改名字:


mv index.php show
mv redirect.php redirect

2.修改.htaccess 规则


<Files ~ (show|redirect)>
ForceType application/x-httpd-php
</Files>
DirectoryIndex show

3.修改修改LocalSettings.php 中 $wgScript,$wgRedirectScript,$wgArticlePath 的值

$wgScript = "$wgScriptPath/show";
$wgRedirectScript = "$wgScriptPath/redirect";
$wgArticlePath = "$wgScript/$1";

因为没有使用 mod_rewrite ,网站的负荷下降,效率当然提升了:)

PS: 我作这个的原因因为 PerlChina Wiki Site, 演示在本地的测试Wiki


--EOF--

This is a SiteLog of Easun's WebBlog.
其实仅仅是记录下而已,对于来访的朋友,订阅本站 RSS Feed 的朋友都不会感觉到变化。在网页上显示的订阅依然是 http://easun.org/blog/rss.xml ,也就是关心小站的朋友不需要改变地址

但是实际上的变化还是有的,我修改了 .htaccess ,加入了如下几行:


Redirect /index.xml http://feed.easun.org
Redirect /blog/rss.xml http://feed.easun.org

原因见这里 :[随笔]闲话 Blog 订阅,http://feed.easun.org 的 CNAME 指向了 Feedsky 的烧录地址:)


--EOF--

Movable Type 3.34出来好几天了吧?终于决定给自己的WebBlog升级了。
升级的热点是近来SPAM猖狂和新版本对FastCGI的支援。而我的WebBlog是在DreamHost上,刚好支援FastCGI

升级很容易,简单覆盖,看的出来,似乎 Six Apart 这次只是修改了 Bootstrap.pm 让它支援FastCGI而已,其他的修改基本上忽略不计。

说实在的,对于 FastCGI 技术我并不看好,觉得其不稳定性太高,程序写的稍有不好就会使apache崩溃,相对来说,我青睐于mod_perl,这个稳定点,性能也好点,MT程序标准的OOP编写方式在mod_perl跑的很稳定的,但是似乎支援mod_perl的空间除了自己作主机商外几乎是不可能的:)

深有体会,WebSite的结构一定要规划好啊,不然很麻烦的。
想把老站迁移到 easun.org 来,才发现问题多多的说。

This is a SiteLog for Easun's Blog。

纯粹的流水帐。几乎全是对服务器的设置和少量的对 MT 模板的修改。
Apache 服务器的好处又显示出来了,呵呵。
由于自己没有整个服务器的权限。所以改动都基于 .htaccess 文件

无意中在浏览器中输入 http://easun.org/cgi-bin/ ,居然发现出现了List界面,因为我的cgi-bin目录里面并没有默认的index页面,Apache智能的以list方式列出了所有的子目录和文件。
这个对于website可不是什么好事情,除非你做下载网站。

原因很简单,服务商默认对目录开启了 Options Indexes 属性。
解决办法也很简单。
在本website的根目录下建立一个.htaccess 文件
内容只有一句

Options -Indexes

这样就关闭了整个网站的Indexes (lsit)功能。呵呵。当然也可以在子目录里面设置,范围就比较小了。
同理,我也可以在这个文件里面随便定置其他的权限或者CGI执行开关。
PS:我就喜欢Apache的灵活性。


--EOF--

Recent Comments