Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/azlux/simple-url-shortener
url shortener written in php (with MySQL or SQLite) with history by users
https://github.com/azlux/simple-url-shortener
Last synced: 16 days ago
JSON representation
url shortener written in php (with MySQL or SQLite) with history by users
- Host: GitHub
- URL: https://github.com/azlux/simple-url-shortener
- Owner: azlux
- License: mit
- Created: 2015-04-18T14:46:18.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-10-24T13:43:26.000Z (19 days ago)
- Last Synced: 2024-10-25T16:32:12.682Z (18 days ago)
- Language: PHP
- Homepage: https://u.azlux.fr
- Size: 1.15 MB
- Stars: 47
- Watchers: 8
- Forks: 15
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# simple-shortener by Azlux
Simple shortener working with MySQL or SQLite database in PHP.
The goal is to create a simple and KISS shortener without dependencies.
The user can add comments for the link to find it faster into its history.Nice shortcut added. The shortcut will create a new short url of your current page when you click on it.
Writed to work into subfolder. (don't need to be at the root)## Installation :
- clone this project
- Copy `inc/config.example.php` to `inc/config.php`
- Set you config file
- Call `installation.php` to setup the database
- delete `installation.php`
- Create a user, the first one will be an admin (allow you to see no connected shorted links)## Warning
For security reasons, the cookies are set on *https* only (cookie_secure mode)
Authentification will not for if your website isn't on HTTPS.
For testing purpose, you need an browser addons to disable this security [like this one on Firefox](https://addons.mozilla.org/en-US/firefox/addon/set-cookie-no-secure-httponly/).### Nginx configuration :
```NGINX
location / {
rewrite ^/(.*)$ /index.php?site=$1 last;
try_files $uri $uri/ /index.php;
}
location /assets {
try_files $uri =404;
}
location /favicon.ico {
try_files $uri =404;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~* \.(sqlite3|ht)$ {
deny all;
}```
### Apache configuration (.htaccess) :
```
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9]+)/?$ index.php?site=$1 [L]
```### Credit :
Based on code provided by [SilouFR](https://github.com/SilouFr)Dev PHP : [Azlux](https://github.com/azlux)
Design : [Spokeek](https://github.com/Spokeek)