我正在尝试为我的公司制作一个类似 tinyurl 的服务,到目前为止看起来不错,但现在我遇到了无法解决的问题。

假设我生成的 URL 是“www.thecompanyiworkfor.com/shorturl/2jh62/”。我的猜测是我必须使用一些脚本,比如说“redirect.php”,在那里我访问数据库,查找那个短网址,找到原始网址,然后使用 header 重定向。

我的问题是,如何让“www.thecompanyiworkfor.com/shorturl/2jh62/”打开“redirect.php”并且我可以访问“shorturl”作为参数?我想我必须用 .htaccess 做一些事情,但我不确定我应该做什么......

请帮助!

最佳答案

这是我推荐的。

1) 创建一个子域 (s.thecompanyiworkfor.com)。由于此文件夹与主 WWW 文件夹分开,因此管理起来会更容易,并且您可以避免与 .htaccess 冲突。

例如:

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

2) 在 /home/thecompanyiworkfor.com/s_public_html/ 中使用这个 .htaccess
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

关于.htaccess - 短网址系统 : How to redirect the Custom URLs?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7498410/

10-09 08:30