mod_rewrite 模擬 mod_userdir - BBS

Table of Contents

※ [本文轉錄自 Linux 看板]

作者: hydec (你好嗎?我很好!) 看板: Linux
標題: [問題] mod_rewrite 模擬 mod_userdir
時間: Thu Feb 25 15:01:49 2010

因為一些特殊需求,我的使用者網頁會放在 /home/user/home/user/www 下
兩次 /home/user 不是 typo,是真的兩層 /home/user XD
因為這種特殊目錄結構導致 apache 的 mod_userdir 沒法直接去讀使用者的網頁
(我用過 wildcard * 去設定,但 * 只能用一次,第二個 * 會抓不到)

於是關掉 mod_userdir 想用 mod_rewrite 去實現 mod_userdir 的功能

RewriteEngine On
RewriteRule ^~([a-z0-9]+)(.*) /home/$1/home/$1/www$2

可是實際運作時發現,apache 把 /home/$1/home/$1/www$2 加到
DocumentRoot 後面變成去讀 http://FQDN/home/user/home/user/www/
但我原意是想他去讀實體目錄 /home/user/home/user/www

請問 mod_rewrite 有辦法做到我要的效果嗎?

--

All Comments

David avatarDavid2010-03-01
httpd-userdir.conf 可以改路徑啊
有的照群組分資料夾的會用
Belly avatarBelly2010-03-01
<Directory "/home/*/*/public_html">
Lauren avatarLauren2010-03-05
!!
Queena avatarQueena2010-03-07
不行耶,因為 userdir 那邊吃不到第二個 *,就算 directory
Hamiltion avatarHamiltion2010-03-11
設了兩層 <Directory "/home/*/home/*/www"> 它他還是認定
userdir 是 /home/*/www
Xanthe avatarXanthe2010-03-13
我就是用三樓那種寫法耶
Erin avatarErin2010-03-16
buganini,我知道你的意思了,不過我狀況和你不太相同
Tom avatarTom2010-03-17
我的實際 user home 和 passwd 裡的 user home 不一樣
所以在 userdir 這個 directive 就沒法設定成功
Una avatarUna2010-03-18
mod_userdir 這條路應該是不通了,但我看 apache 的文件上
Heather avatarHeather2010-03-18
mod_rewrite 用上述方式可以讀取指定實體目錄,但我試的結果
Blanche avatarBlanche2010-03-22
竟然是以 DocumentRoot 為起點...