我正在尝试构建一个简单的URL缩短器,但我遇到了一些复杂问题:
A)在.htaccess中如何重写mydomain.com以便用户可以输入mydomain.com/4854,而页面实际上是mydomain.com/url.php?key=4854。
B)如果我有重写规则,我怎么能确保绕过它为index.php和add.php
非常感谢先进。
答案 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解决方案也适合您。