[問題] mod_rewrite 模擬 mod_userdir

看板Linux作者 (你好嗎?我很好!)時間16年前 (2010/02/25 15:01), 編輯推噓2(2012)
留言14則, 2人參與, 最新討論串1/1
因為一些特殊需求,我的使用者網頁會放在 /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 有辦法做到我要的效果嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.138.38.64

02/25 15:05, , 1F
httpd-userdir.conf 可以改路徑啊
02/25 15:05, 1F

02/25 15:05, , 2F
有的照群組分資料夾的會用
02/25 15:05, 2F

02/25 15:06, , 3F
<Directory "/home/*/*/public_html">
02/25 15:06, 3F

02/25 15:08, , 4F
!!
02/25 15:08, 4F

02/25 15:18, , 5F
不行耶,因為 userdir 那邊吃不到第二個 *,就算 directory
02/25 15:18, 5F

02/25 15:20, , 6F
設了兩層 <Directory "/home/*/home/*/www"> 它他還是認定
02/25 15:20, 6F

02/25 15:20, , 7F
userdir 是 /home/*/www
02/25 15:20, 7F

02/25 21:48, , 8F
我就是用三樓那種寫法耶
02/25 21:48, 8F

02/26 00:37, , 9F
buganini,我知道你的意思了,不過我狀況和你不太相同
02/26 00:37, 9F

02/26 00:39, , 10F
我的實際 user home 和 passwd 裡的 user home 不一樣
02/26 00:39, 10F

02/26 00:39, , 11F
所以在 userdir 這個 directive 就沒法設定成功
02/26 00:39, 11F

02/26 00:40, , 12F
mod_userdir 這條路應該是不通了,但我看 apache 的文件上
02/26 00:40, 12F

02/26 00:42, , 13F
mod_rewrite 用上述方式可以讀取指定實體目錄,但我試的結果
02/26 00:42, 13F

02/26 00:43, , 14F
竟然是以 DocumentRoot 為起點...
02/26 00:43, 14F
hydec:轉錄至看板 FreeBSD 02/26 00:45 ※ 編輯: hydec 來自: 114.25.58.207 (02/26 00:47)
文章代碼(AID): #1BXY1Wve (Linux)