作者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
推 thankQ9527:現在問題不是卡在sql或php的..而是根本抓不到aaa參數 02/02 02:34
推 drkkimo:你沒看懂他說的嗎? 02/02 06:58
推 mouse26:9527去查apache的rewrite資料吧..你就會知道原po再說什麼 02/02 14:30
推 ileadu:沒想到這技術這麼快就被拿到蝦米查碼上縮址應用了 ^^ 02/04 13:32
推 peterjack:dinos是對的 02/04 21:27
推 ileadu:沒人說 dinos 錯吧? 是thankQ 沒看懂 dinos 在說啥... 02/05 00:56
推 thankQ9527:的確是我沒看懂,我用的方法即是Dinos說的 02/06 16:13
推 ileadu:ThankQ 你的縮址 設了密碼 但 username 要打啥? 02/07 00:46