作者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)