-2

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

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

B)如果我确实有那个重写规则,我怎么能确保绕过它来处理 index.php 和 add.php

非常感谢。

4

3 回答 3

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

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

于 2012-05-03T22:45:20.367 回答
2

在你的.htaccess你可以做:

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

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

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

于 2012-05-03T22:45:45.110 回答
0

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

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

于 2012-05-03T22:49:01.570 回答