百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

轻松搭建自己的短网址平台-Shortny v2.0.1源码搭建教程

off999 2025-03-29 20:54 20 浏览 0 评论

短网址是什么?

短网址(Short URL),顾名思义就是在形式上比较短的网址。通常用的是asp或者php转向,在Web 2.0的今天,不得不说,这是一个潮流。目前已经有许多类似服务,借助短网址您可以用简短的网址替代原来冗长的网址,让使用者可以更容易的分享链接。

网址缩短这种服务是在微博出现之后才流行开来的,原因很简单,微博140字限制,能表达的内容本来就两三句,如果再出现一个网址,就会占用非常大的篇幅。

网址缩短的原理也很简单,使用HTTP 301 Moved状态码重定向,浏览器就会自动的转向到目标网址。这个实现起来的难度不大,代价也不会很高。因为多了这一次转发,这使得那些被传播的网址多了一些可控的因素,比如说可以记录请求的报文,对来源网站、IP、浏览器等许多信息进行收集和统计;可以针对有害网站进行跳转前的过滤和警告。这样子,一个连接投放出去之后的效果就可以很方便的统计。

其实网址缩短的网站遍地都是。但大多数都不支持后台短网址链接数据的修改。当你活动地址或是活动链接更改了以后,你不得不重新发布新的消息或是链接让大家知晓!当然有很多短网址也支持后台数据修改,但基本上都是VIP的功能,而且隐私性也不强,数据都保存在别人那里。

所以大飛果断的申请了一个免费域名,搭建一个属于自己的短网址平台,方便维护管理给大家分享资源时的链接。

源码简介

Shortny是一款国外的PHP短网址源码,程序非常小巧,但是功能是很多的,支持自定义后缀、加密访问,查看链接统计,而且还支持放广告,这个广告功能相信有些人会喜欢。界面也比较好看,支持白天/夜晚切换模式。由于官方的程序是收费的,所以这里大飛提供的是由顶点网提供的用于学习和研究的版本Shortny v2.0.1,顺便说下详细安装过程。

本源码具有以下特色:

前端: 简洁、优雅、反应灵敏的设计、创建URL、创建自定义URL、密码保护的链接、链接统计、暗色主题、小书签、复制和共享链接;

后端: 删除网址、编辑网站设置、添加或编辑广告、分析、使用自定义CSS;

功能: 垃圾邮件检查器、所有输入都经过验证以进行保护、安全支护板、命中计数;

源码下载

网盘下载一 :fhyurl.tk/kMc47

网盘下载二 :fhyurl.tk/WnAVA

搭建教程

1、安装环境

环境要求:PHP、Mysql、Nginx/Apache,搭建方法自行选择,这里使用宝塔演示。

  • Apache,nginx,IIS或lighttpd(首选Apache)(大飛这个教程是使用nginx搭建)
  • PHP> = 5.5.9
  • MariaDB或MySQL> = 5.5,或者使用SQLite

2、安装宝塔面板

以上说了那么多,其实都是废话,服务器要求不用看,你安装好宝塔面板基本就完事了。

首先安装BT面板

安装要求:

内存:512M以上,推荐768M以上(纯面板约占系统60M内存)

硬盘:300M以上可用硬盘空间(纯面板约占20M磁盘空间)

系统:CentOS 7.1+ (Ubuntu16.04+.、Debian9.0+),确保是干净的操作系统,没有安装过其它环境带的
Apache/Nginx/php/MySQL/pgsql/gitlab/java(已有环境不可安装)

架构:x86_64(主流服务器均是此架构),ARM不完整兼容(面板环境安装慢,部分软件可能安装不上)

安装代码:

#CentOS系统
wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
#Ubuntu系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
#Debian系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh
#CentOS系备用节点【香港】--香港vps推荐使用
yum install -y wget && wget -O install.sh http://103.224.251.67:5880/install/install_6.0.sh && sh install.sh

安装完成后,进入面板,点击左侧软件管理,然后安装PHP、Nginx或Apache、Mysql。

3、上传源码

在宝塔面板里面添加站点,绑定域名,并创建数据库(这个不会就别往下看了~~)

点击面板左侧-添加站点,数据库选择Mysql,设置好数据库名称、密码。

然后上传源码到网站根目录并解压出来。

4、伪静态设置

#Apache,编辑.htaccess文件,将本地地址修改成自己的域名,比如:

RewriteEngine on 
RewriteRule ^about                about.php [L]
RewriteRule ^api-about            api-about.php [L]
RewriteRule ^contact              contact.php [L]
RewriteRule ^tos                  tos.php [L]
RewriteRule ^([^/.]+)/?$          link.php?id=$1 [L]
RewriteRule ^404                  404.php [L]


Options -Indexes
ErrorDocument 404 http://你的域名/404
ErrorDocument 403 http://你的域名/404

#Nginx,点击域名设置-伪静态,然后将下面例子的域名改成自己的,再复制进去,比如:

rewrite ^/about /about.php last;
rewrite ^/api-about /api-about.php last;
rewrite ^/contact /contact.php last;
rewrite ^/tos /tos.php last;
rewrite ^/([^/.]+)/?$ /link.php?id=$1 last;
rewrite ^/404 /404.php last;
error_page 404 http://你的域名/404;
error_page 403 http://你的域名/404;

5、开始安装

最后开始安装,由于伪静态问题,只能通过具体路径安装,链接如下:

#安装路径,记得修改下面域名地址
https://你的域名/install/index.html
#后台路径
https://你的域名/admin/index.php

安装完成后,即可登录后台管理界面进行设置,默认用户名和密码均为admin。

结语

如果看完文字教程依然一头雾水,请关注我的频道,针对本期教程的视频正在制作中,包括后台设置首页广告及跳转广告的代码如何填写等,敬请期待!

相关推荐

编写更多 pythonic 代码(十三)——Python类型检查

一、概述在本文中,您将了解Python类型检查。传统上,类型由Python解释器以灵活但隐式的方式处理。最新版本的Python允许您指定显式类型提示,这些提示可由不同的工具使用,以帮助您更...

[827]ScalersTalk成长会Python小组第11周学习笔记

Scalers点评:在2015年,ScalersTalk成长会完成Python小组完成了《Python核心编程》第1轮的学习。到2016年,我们开始第二轮的学习,并且将重点放在章节的习题上。Pytho...

用 Python 画一颗会跳动的爱心:代码里的浪漫仪式感

在编程的世界里,代码不仅是逻辑的组合,也能成为表达情感的载体。今天我们就来聊聊如何用Python绘制一颗「会跳动的爱心」,让技术宅也能用代码传递浪漫。无论是写给爱人、朋友,还是单纯记录编程乐趣,这...

Python面向对象编程(OOP)实践教程

一、OOP理论基础1.面向对象编程概述面向对象编程(Object-OrientedProgramming,OOP)是一种编程范式,它使用"对象"来设计应用程序和软件。OOP的核心...

如何在 Python 中制作 GIF(python做gif)

在数据分析中使用GIF并发现其严肃的一面照片由GregRakozy在Unsplash上拍摄感谢社交媒体,您可能已经对GIF非常熟悉。在短短的几帧中,他们传达了非常具体的反应,只有图片才能传达...

Python用内置模块来构建REST服务、RPC服务

1写在前面和小伙伴们分享一些Python网络编程的一些笔记,博文为《PythonCookbook》读书后笔记整理博文涉及内容包括:TCP/UDP服务构建不使用框架创建一个REST风格的HTTP...

第七章:Python面向对象编程(python面向对象六大原则)

7.1类与对象基础7.1.1理论知识面向对象编程(OOP)是一种编程范式,它将数据(属性)和操作数据的函数(方法)封装在一起,形成一个称为类(Class)的结构。类是对象(Object)的蓝图,对...

30天学会Python编程:8. Python面向对象编程

8.1OOP基础概念8.1.1面向对象三大特性8.1.2类与对象关系核心概念:类(Class):对象的蓝图/模板对象(Object):类的具体实例属性(Attribute):对象的状态/数据方法...

RPython GC 对象分配速度大揭秘(废土种田,分配的对象超给力)

最近,对RPythonGC的对象分配速度产生了浓厚的兴趣。于是编写了一个小型的RPython基准测试程序,试图探究它对象分配的大致速度。初步测试与问题发现最初的设想是通过一个紧密循环来分配实...

30天学会Python编程:2. Python基础语法结构

2.1代码结构与缩进规则定义与原理Python使用缩进作为代码块的分界符,这是Python最显著的特征之一。不同于其他语言使用大括号{},Python强制使用缩进来表示代码层次结构。特性与规范缩进量...

Python 类和方法(python类的方法与普通的方法)

Python类和方法Python类创建、属性和方法具体是如何体现的,代码中如何设计,请继续看下去。蟒蛇类解释在Python中使用OOP?什么是Python类?Python类创建Pyt...

动态类型是如何一步步拖慢你的python程序的

杂谈人人都知道python慢,这都变成了人尽皆知的事情了,但你知道具体是什么拖慢了python的运行吗?动态类型肯定要算一个!动态类型,能够提高开发效率,能够让我们更加专注逻辑开发,使得编程更加灵活。...

用Python让图表动起来,居然这么简单

我好像看到这个emoji:动起来了!编译:佑铭参考:https://towardsdatascience.com/how-to-create-animated-graphs-in-python-bb6...

Python类型提示工程实践:提升代码质量的静态验证方案

根据GitHub年度开发者调查报告,采用类型提示的Python项目维护成本降低42%,代码审查效率提升35%。本文通过9个生产案例,解析类型系统在工程实践中的应用,覆盖API设计、数据校验、IDE辅助...

Python:深度剖析实例方法、类方法和静态方法的区别

在Python中,类方法(classmethod)、实例方法(instancemethod)和静态方法(staticmethod)是三种不同类型的函数,它们在使用方式和功能上有一些重要的区别。理...

取消回复欢迎 发表评论: