2009-11-14

mod_wsgi 如何支援靜態網頁 ?

為什麼 mod_wsgi 不支援靜態網頁呢 ? 其實,阿舍覺得應該也不是說不支援,而是說,它天生就是預設要去執行動態網頁的哩 ! 怎麼說呢 ? 因為一旦安裝了 mod_wsgi 之後,我們就必須在 http.conf 裡去設定 WSGIScriptAlias 把使用者要求的網址轉到對應的程式上,但是,一般來說,我們都會直接把網站首頁的 "/" 路徑指到一支固定的程式去,例如:

WSGIScriptAlias / /var/www/xyz.arthurtoday.com/public_html/webapp.wsgi

這樣子的話,不管是打 http://xyz.arthurtoday.com/helloworld 或是 http://xyz.arthurtoday.com/xyz.html 都會被丟到 webapp.wsgi 去執行,可是 webapp.wsgi 預期是會呼叫一個 Python 寫的類別,而 zyx.html 是一個網頁,那麼一定就會呼叫不到對應的類別可用,所以,一定就會有問題,所以,就不能用靜態網頁哩 !

這個問題有沒有解呢 ?? 阿舍看了一下 mod_wsgi 官網配置的說明,上面有提到有二種解法,第一個是另外架一個專門放靜態網頁的 Web Server (有點麻煩...),另一個就是在 httpd.conf 檔裡去一個個的指定靜態網頁的映對網址 (也是有麻煩 ),舉例來說,阿舍有一個靜態網頁放在 /var/www/xyz.arthurtoday.com/public_html/xyz.html 裡,以正常的方式來看,只要輸入 http://xyz.arthurtoday.com/xyz.html 就可以了,但是,如果裝了 mod_wsgi 之後,還要有這種效果的話,那麼就要在 httpd.conf 裡加入下面這一行

Alias /xyz.html /var/www/xyz.arthurtoday.com/public_html/xyz.htm

如果有很多的靜態網頁怎麼辦 ?? 那就直接把它指向一個資料夾,然後所有的靜態網頁都放裡面,再加這面這一行到 httpd.conf 去,這樣就行了哩 !

Alias /html /var/www/xyz.arthurtoday.com/public_html/html




[+] Ubuntu 指令新手會用到的35個技法 - 這是以阿舍的使用經驗編寫出來的電子書,三天內應該就看的完,學的起來哩 ! 有空就參考一下囉 ! ... ^^=

關於阿舍

好文不藏私,請多分享囉!! ^^=



沒有留言 :

張貼留言

如果留言後,發現留言不見了,這通常是因為 Goolge 把它認為是垃圾留言了,請用信件通知阿舍調整 ( ayubiz@gmail.com )。謝謝 !