作者hydec (你好嗎?我很好!)
看板FreeBSD
標題[問題] mod_rewrite 模擬 mod_userdir
時間Fri Feb 26 00:45:49 2010
※ [本文轉錄自 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 有辦法做到我要的效果嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.138.38.64
1F:推 buganini:httpd-userdir.conf 可以改路徑啊 02/25 15:05
2F:→ buganini:有的照群組分資料夾的會用 02/25 15:05
3F:→ buganini:<Directory "/home/*/*/public_html"> 02/25 15:06
4F:→ hydec:!! 02/25 15:08
5F:→ hydec:不行耶,因為 userdir 那邊吃不到第二個 *,就算 directory 02/25 15:18
6F:→ hydec:設了兩層 <Directory "/home/*/home/*/www"> 它他還是認定 02/25 15:20
7F:→ hydec:userdir 是 /home/*/www 02/25 15:20
8F:推 buganini:我就是用三樓那種寫法耶 02/25 21:48
9F:→ hydec:buganini,我知道你的意思了,不過我狀況和你不太相同 02/26 00:37
10F:→ hydec:我的實際 user home 和 passwd 裡的 user home 不一樣 02/26 00:39
11F:→ hydec:所以在 userdir 這個 directive 就沒法設定成功 02/26 00:39
12F:→ hydec:mod_userdir 這條路應該是不通了,但我看 apache 的文件上 02/26 00:40
13F:→ hydec:mod_rewrite 用上述方式可以讀取指定實體目錄,但我試的結果 02/26 00:42
14F:→ hydec:竟然是以 DocumentRoot 為起點... 02/26 00:43
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.25.58.207
※ 編輯: hydec 來自: 114.25.58.207 (02/26 00:47)