Catalyst Framework 是 Perl 上一個蠻有名的 MVC Framework,使用 Catalyst 比較知名的站台是 Vox.com。(可以參考 How we build Vox 這一份投影片)
在正式環境下會用 FastCGI 或是 mod_perl 提供服務,但測試環境用 CGI 版本似乎是個還可以的選擇,因為改完後馬上就會生效。我記得我很久前用過 Apache + Catalyst-CGI,但是一時間找不到設定檔,只好再從頭摸起。趁這次重新摸的時候把設定檔寫到 blog 上,之後用 Google 找的時候才找的到。
在 .htaccess
裡這樣設定:
#
AddHandler cgi-script .sh
Options +FollowSymlinks -Indexes
#
RewriteEngine on
RewriteBase /~gslin/testbed/
RewriteCond %{REQUEST_URI} !/~gslin/testbsd/index\.sh/
RewriteRule ^(.*)$ index.sh/$1 [L]
然後 index.sh
要設成 0755:
#!/bin/sh
cd ../../hg/project
exec script/project_cgi.pl
另外 project_cgi.pl
也要設成 0755。這樣子除了靜態檔案應該都會動了。不過靜態檔案已經慢慢有習慣丟到另外一個 domain 上,所以還好...
Update:修正 .htaccess
的內容,這樣也順便修好 Catalyst 處理 static files 的部份。