2011-09-21 117 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

真棒,你非常欢迎。 –