任意二级域名的伪静态规则难题,请高手们帮忙

newahd 2011-08-16 12:10:49
遇到个任意二级域名的伪静态规则难题,请高手们帮忙
情况如下:
要求实现二级域名user1.aaa.com可以访问到下面的实际地址:
http://www.aaa.com/web/11/0603/user1/

但是实际地址里的11/0603/是用户注册时按日期生成的,是变动的,但是二级域名给来的变量只有用户名数据,这样还有办法吗?

如果实际地址是http://www.aaa.com/user.php?id=user1
这样的倒是很容易,但是因为要生成真静态页面,同一个文件夹也不想超过1000个文件,所以只能采取这种随日期生成文件夹存放的方法,结果就遇到了这个伪静态规则问题,伪静态固然不能读取数据库把日期路径判断出来,看看高手们有没有什么巧妙的解决方案,谢谢
...全文
288 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
木目子 2011-08-22
  • 打赏
  • 举报
回复
那就这样,别用日期作为目录名称了,如果用户比较多,可以用两位作为目录名
user1.aaa.com==>http://www.aaa.com/web/u/user1/
newahd 2011-08-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 moocky 的回复:]
晕了,终于弄明白你要干什么了!
你的意思是:
user1.aaa.com==>http://www.aaa.com/web/11/0603/user1/
user2.aaa.com==>http://www.aaa.com/web/11/0713/user2/
这样的对应吧?
这个单靠rewrite是没办法实现的,你可以
user1.aaa.com=>http://www.aaa.co……
[/Quote]

谢谢,这个方法我也知道的,但这样一来就不能实现完全真静态咯,还是要接收参数读一下数据库
xuzuning 2011-08-19
  • 打赏
  • 举报
回复
自己给自己创造困难?
精神可嘉,实不可取
木目子 2011-08-19
  • 打赏
  • 举报
回复
晕了,终于弄明白你要干什么了!
你的意思是:
user1.aaa.com==>http://www.aaa.com/web/11/0603/user1/
user2.aaa.com==>http://www.aaa.com/web/11/0713/user2/
这样的对应吧?
这个单靠rewrite是没办法实现的,你可以
user1.aaa.com=>http://www.aaa.com/redirect.php?uid=user1
然后通过redirect进行跳转
newahd 2011-08-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 momos 的回复:]
引用 1 楼 moocky 的回复:

Apache虚拟主机的配置上绑定*.abc.com,然后只针对/web/11/0603/user1/写转发规则就可以了

/web/11/0603/user1/ 对应的规则 /web/*/*/([a-z0-9])/$
[/Quote]

我晕,怎么不明白呢,例如

http://www.aaa.com/web/11/0603/user1/
http://www.aaa.com/web/11/0713/user2/

user1.aaa.com
user2.aaa.com

这个二级域名过来的只有user1,路径中的11/0613是存在数据库里的,你怎么知道这个转发规则是写多少???
momos 2011-08-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 moocky 的回复:]

Apache虚拟主机的配置上绑定*.abc.com,然后只针对/web/11/0603/user1/写转发规则就可以了
[/Quote]
/web/11/0603/user1/ 对应的规则 /web/*/*/([a-z0-9])/$
木目子 2011-08-17
  • 打赏
  • 举报
回复
和/web11/0603/无关,直接忽略就行
.*/([a-z0-9])/$
phf0313 2011-08-17
  • 打赏
  • 举报
回复
帮顶。
newahd 2011-08-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 moocky 的回复:]
Apache虚拟主机的配置上绑定*.abc.com,然后只针对/web/11/0603/user1/写转发规则就可以了
[/Quote]

我都说了,11/0603/是变动的!!每个用户的这个路径都有可能不一样!!
木目子 2011-08-16
  • 打赏
  • 举报
回复
Apache虚拟主机的配置上绑定*.abc.com,然后只针对/web/11/0603/user1/写转发规则就可以了

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧