2011-09-21 115 views
7

我試圖爲我的公司做一個類似tinyurl的服務,迄今爲止看起來不錯,但現在我有一個我無法解決的問題。短網址系統:如何重定向自定義網址?

假設我生成的網址是「www.thecompanyiworkfor.com/shorturl/2jh62/」。我的猜測是我必須使用一些腳本,讓我們說「redirect.php」,在那裏我訪問數據庫,尋找那個簡短的URL,找到原來的一個,並重新定向標題。

我的問題是,我如何使「www.thecompanyiworkfor.com/shorturl/2jh62/」打開「redirect.php」,我可以訪問「shorturl」作爲參數?我以爲我必須用.htaccess做點什麼,但我不確定該怎麼辦...

請幫忙!

回答

12

這是我的建議。

1)創建一個子域(s.thecompanyiworkfor.com)。由於該文件夾與主WWW文件夾分開,因此管理員將更容易,並避免與.htaccess發生衝突。

例如:

s.thecompanyiworkfor.com => /home/thecompanyiworkfor.com/s_public_html/ 
www.thecompanyiworkfor.com => /home/thecompanyiworkfor.com/public_html/ 

2)然後使用這個的.htaccess在/home/thecompanyiworkfor.com/s_public_html/

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !^index\.php 
RewriteRule ^([a-z0-9\-]+)(\/?)$ index.php?code=$1 [L,NC,QSA] 

/home/thecompanyiworkfor.com/s_public_html/index.php可以查看哪個代碼對應哪個URL和重定向。如果沒有找到,重定向到www.thecompanyiworkfor.com

+0

哦,好的。我知道它爲什麼沒有工作。與RealURL衝突。您是否在子域中解決問題,並且效果很好。謝謝! –

+0

真棒,你非常歡迎。 –