很长时间以来,我都使用京东联盟/京粉来推荐京东平台上的图书以及其他种类的好物,主要是对这类商品进行介绍、使用体验分享等,并获取商品的推广链接或二维码,方便需要的用户前往查看选购。

而这里最大的一个问题是,不管是分享的链接还是二维码,都有60天的有效期。过了这个有效期,打开就是到京东首页。这个问题我也咨询过官方客服,被告知平台就是这样设置的,没有更好的方式。

但也得到一条有用的信息,就是在京东联盟平台里,可以对商品生成长链接,长链接不会过期。于是我在网站的文章发布后台里,给每篇推荐文章加上一个自定义字段,即:京东商品链接。同时,在前端页面里,显示该链接按钮,并通过 qrcode.js 生成链接二维码,方便用户可以扫码直接打开手机京东,直达商品页面。

而这又产生了一个问题:由于京东联盟提供的商品长链接有较多参数(涉及到追踪用户下单以及返佣计算等),导致生成的二维码实际无法使用。第一时间我也是想到使用短连接生成平台。

想要在每个商品推荐的文章里使用京东联盟的长链接,通过短连接生成平台自动将其转化成短连接,在文章页面里再将其生成二维码和链接按钮。这是一个半自动化的过程,需要使用 API。而第三方短链生成平台目前还是有所限制。

那就搭建一个短连接生成平台!从网上搜索并找到一个合适的开源程序:Polr

什么是 Polr?

Polr 是一个功能强大、轻量级且开源的短链接管理系统,用于创建和管理短链接。作为一款开源工具,Polr 允许用户自由部署、定制,完全摆脱收费服务的限制,非常适合个人用户、中小型企业或开发者团队使用。

Polr 具备很多不错的特性,对于我的需求来说,以下几点非常切合:

  • 随机与自定义短链接生成

    支持生成随机短链接,也可根据需求自定义链接的后缀。

  • 强大的管理功能

    提供对短链接的完整控制,包括启用/禁用、删除等操作。 轻松管理用户权限(如果开启多用户模式)。

  • API 集成

    提供 RESTful API,便于开发者将 Polr 集成到其他应用或自动化流程中。

安装配置

1,安装了Web环境的服务器一台,可以用lnmp、lamp一键包或者宝塔之类的面板来搭建web环境。
2,一个足够短的漂亮的域名,并做好解析。

准备工作

Github地址:https://github.com/cydrobolt/polr

1. 添加网站并下载程序

添加域名,并进入网站根目录,使用以下命令。

cd /www/wwwroot/website.com
#下载官方源码
git clone https://github.com/cydrobolt/polr.git
mv polr/{.,}* ./

#下载汉化文件(网上流传的汉化版本,无法支持二维码功能,此处博主依据最新版 Polr 自行汉化了一个,功能正常使用。)
cd resources && rm -rf views && wget https://github.com/honorcnboy/Porl-CHN/releases/download/1.0.0/porl_views_1.0.tar.gz
tar zxvf porl_views_1.0.tar.gz
cd ..

2. 下载并安装composer

#在/root目录下安装Composer
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

#进入网站根目录运行
cd /www/wwwroot/website.com
composer install --no-dev -o

3. 将 .env.setup 创建一个名为 .env 的副本

cp .env.setup .env

4. 网站设置

在宝塔面板上点击网站-设置-伪静态,设置为:laravel5,保存。然后到 网站目录-运行目录 ,选择/public,保存。再回到 伪静态 ,填入以下代码。同时,设置好SSL

# Ngnix
location / {
            try_files $uri $uri/ /index.php$is_args$args;
}

# Apache
<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

5. 重启 Nginx / Apache,将网站下所有文件的权限改成 777,所有者 www

6. 进入 http://website.com/setup 完成各项设置