0

我想为我的网站制作缩短链接,以便在推文中使用。我对类似 t.co 的 URL 感兴趣,但对如何实现重定向感到困惑。

以下是我网站上的链接通常的外观:

https://mysite.com/item/this-is-a-book-on-toasters

这是我希望缩短链接的外观,该链接将重定向到上述链接

https://ms.co/Im8y2x

基于谷歌搜索如何做到这一点,看起来我需要做一个 301 重定向。我正在使用 PHP,特别是 Codeigniter,我猜有 2 个组件:PHP 脚本和 .htaccess。

这是我的.htaccess:

RewriteEngine on
RewriteRule ^/?$ https://mysite.com [L]
RewriteRule ^(.*)$ https://ms.co/$1 [R=301,NC]

我认为我需要的 PHP 在这里

不幸的是,我无法解释此链接上的答案来制作有用的脚本。有人可以帮忙吗?另外,我的 .htaccess 看起来对吗?

4

2 回答 2

1

这应该是您的短链接网站 (ms.co) 上的 .htaccess 代码:

RewriteEngine On

RewriteRule ^(.*)$ https://mysite.com/in.php?id=$1 [R=301,L]

in.php 应该包含解码 $_GET['id'] 的脚本(通过您提供的链接中提供的短哈希解码方法),将其与数据库中的 ID 匹配,并检索它应该重定向到的页面.

顺便说一句,我没有在代码中添加 NC 部分的原因是因为大写/小写(通常)在使用解码方法时会产生不同的结果。

于 2012-07-11T11:14:01.283 回答
0

我已经回答了我自己的问题。考虑到上面的问题,他们的 .htaccess 指令应该是这样的:

RewriteCond %{HTTP_HOST} ^o-a\.co$ [NC] // the rewrite rule
RewriteCond %{HTTPS} =on //to enable HTTPS
RewriteRule ^(.*)$ https://mysite.com/page-to-handle-hash/$1 [L] //where in your application you want to send the 6-digit hash
于 2012-07-21T14:03:29.297 回答