作者dinos (Guardian Angel)
看板PHP
标题Re: [请益] 0rz.net
时间Thu Feb 2 02:23:56 2006
你要开 rewrite
提供一个像
RewriteRule ^(\w{3,32})$ /link.php?key=$1 [QSA]
这样的规则
会将 /aaaa 导到 link.php?key=aaaa
再去 sql 里抓 aaaa 所对应的 url
最後输出 <meta refresh /> 或 header:refresh
我想原理差不多是这样吧
※ 引述《thankQ9527 (谢谢你)》之铭言:
: 最近在研究0rz.net 的运作方式,有点小心得了
: 0rz.net的运作方式是,假如有一个网址
: ex: http://www.yahoo.com/a/888888888888888888.html
: 经过0rz.net之後,上述的网址会变成
: http://0rz.net/aaaa
: 输入这个网址(http://0rz.net/aaaa)後他会转到
: http://www.yahoo.com/a/888888888888888888.html
: 这个页面去。
: 我的想法:
: 1.自订一个404错误画面,透过错误画面取得他後方的参数(http://0rz.net/参数)进而比
: 对MySQL然後取得原始网址转向过去。
: 现在卡在一个地方,就是404错误画面要如何在Apache设定了
: 我出现的问题如下:
: 我用ErrorDocument 404 的方式,将404设定为
: ErrorDocument 404 /url.php
: 所以任何错误都会转到url.php去
: 假如我打一个网址
: http://test.com/aaa 他会转到
: http://test.com/url.php
: 因为http://test.com/aaa这个网址不存在我也没在这个网址停留过,而我也不是透过link
: 的方式去开启网页的
: 所以要在url.php上使用PHP的$_SERVER系列语法就会失效,顶多出现test.com跟url.php
: 唯一解决的方法就是
: 假如我输入 http://test.com/aaa
: 他会直接执行url.php而网页网址一样是http://test.com/aaa
: 这样才有办法成功!!
: 但我找不到方法
: 目前我成功的地方只有到
: 输入http://test.com/aaa 之後
: 视窗上网址列的网址一样是http://test.com/aaa
: 但是我在网页上按内容右键,他出现的网址却是
: http://test.com/url.php
: 必须要我在网页上按内容右键出现的网址一样是
: http://test.com/aaa 才有办法解决这个问题!
: 因此不知道我的Apache该如何设定呢?简单来说我想写一个跟0rz.net一样的功能
: 如果有别的方法不吝赐教。3Q
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.158.10
1F:推 thankQ9527:现在问题不是卡在sql或php的..而是根本抓不到aaa参数 02/02 02:34
2F:推 drkkimo:你没看懂他说的吗? 02/02 06:58
3F:推 mouse26:9527去查apache的rewrite资料吧..你就会知道原po再说什麽 02/02 14:30
4F:推 ileadu:没想到这技术这麽快就被拿到虾米查码上缩址应用了 ^^ 02/04 13:32
5F:推 peterjack:dinos是对的 02/04 21:27
6F:推 ileadu:没人说 dinos 错吧? 是thankQ 没看懂 dinos 在说啥... 02/05 00:56
7F:推 thankQ9527:的确是我没看懂,我用的方法即是Dinos说的 02/06 16:13
9F:推 ileadu:ThankQ 你的缩址 设了密码 但 username 要打啥? 02/07 00:46