php - tiny - youtube shortener




URL Shortening Site (4)

Etre lié au sujet ... Url Shorteners: Détruire le Web depuis 2002

Je travaille sur un site de raccourcissement d'URL qui utilise PHP, MySQL et Apache. Idée générale de raccourcissement d'URL lorsque je regarde des projets open source: l'utilisateur donne un lien URL et le système obtient l'ID de ce lien depuis la base de données. Ensuite, convertissez le système de base ID X (j'utilise la base 36). Ensuite, utilisez Apache mod_rewrite et créez une URL raccourcie, puis redirigez. Est-ce que tous les sites de raccourcissement d'URL fonctionnent comme cela ou utilisent-ils un algorithme différent autre que celui-ci? Et toute idée de faire une différence avec d'autres systèmes de raccourcissement d'URL?


Je pense que vous êtes sur la bonne voie.

Une chose que je ne ferais pas comme vous l'avez dit, cependant, concerne cette partie:

puis utilisez apache mod_rewrite et créez raccourcir l'URL, puis rediriger.

Je ne pense pas que je créer un Apache RewriteRule, ni utiliser mod_rewrite .


Lors de la réception d'une URL courte, comme short.com/MYID , ID:

  • décrypter la partie "MYID" au numéro d'identification dans la base de données
  • récupère l'URL de la base de données
  • juste rediriger vers cette URL à partir de certains code de serveur (comme PHP, en utilisant la fonction d'en- header )

Un peu comme ça je suppose:

// fetch $urlFull from DB (corresponding to the MYID received in GET)
header('HTTP/1.x 301 Moved Permanently');
header('Location: ' . $urlFull);
die;


(edit) Si par mod_rewrite vous vouliez dire " transformer short.com/MYID en short.com/id=MYID ", oh, oui, dans ce cas, bien sûr!

J'utilise quelque chose comme ça sur un de mes sites, btw:

RewriteEngine on
RewriteCond %{REQUEST_URI}  !^/index.php
RewriteRule ^(.*)$ /index.php?hash=$1   [L]


J'espère que cela t'aides :-)


Si vous voulez faire quelque chose de différent des autres sites de raccourcissement d'URL, trouvez un moyen de vous assurer que les liens ne se brisent pas si votre site disparaît! Je ne sais pas comment faire ça, je pense que c'est probablement impossible ...


Vous pouvez utiliser bit.ly (Twitter l'utilise). Il existe des API que vous pouvez utiliser pour appeler et récupérer des URL raccourcies.

Parlez aussi de raccourcir les URL, vous pouvez simplement utiliser un tableau comme celui-ci

CREATE TABLE `urls` (
  `id` varchar(255) NOT NULL default '',
  `url` text NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Où vous pouvez avoir l' id (en base 36 pour éviter l'épuisement des entiers de 32 bits) pour être l'id raccourci - http: // host /? Id

et lorsque vous appelez l'URL http: // host /? As2dD24B , l'ID et l'URL correspondants sont recherchés, puis redirigés vers l'URL. simple?

Gardez aussi à l'esprit que vous pouvez développer votre base 36. Je suppose que votre base 36 est: az et 0-9. Vous pouvez ajouter AZ (26 autres) et d'autres symboles (tels que?,: * & ^% $ # @).





url-rewriting