URL Shortener ... Mod_rewrite

时间:2012-05-03 22:37:15

标签: php mysql .htaccess mod-rewrite

我正在尝试构建一个简单的URL缩短器,但我遇到了一些复杂问题:

A)在.htaccess中如何重写mydomain.com以便用户可以输入mydomain.com/4854,而页面实际上是mydomain.com/url.php?key=4854。

B)如果我有重写规则,我怎么能确保绕过它为index.php和add.php

非常感谢先进。

3 个答案:

答案 0 :(得分:2)

RewriteEngine on
RewriteRule ^([0-9]+)(/)?$ url.php?key=$1

如果密钥无效,请在php文件中重定向

答案 1 :(得分:2)

.htaccess你可以做到:

RewriteEngine On
RewriteRule ^([0-9]+)(/)?$ /url.php?key=$1 [QSA,L]

这会将仅包含数字的请求重写为url.php

然后在url.php中,如果找不到密钥,则重定向到错误页面。

答案 2 :(得分:0)

让我救你悲伤......我做同样的事情,发现它是在yourls.org为我写的。它涵盖了您需要的几乎所有内容,并为您提供了自己添加的选项用户页面,并为您提供了一个API接口供其他人使用缩短的URL。我在几分钟内完成并运行,花了几个小时修改了准备生产的样品。

即使您不使用它,mod_rewrite解决方案也适合您。