[php, mysql] skracacz

0

Czesc,

chcę sobie zrobić skracacz długich adresów, taki jak szort.pl. Jak się robi takie rzeczy. Proszę o jakieś krótkie wyjaśnienie na jakiej zasadzie to działa.

Pozdrawiam

0

Masz np. http://tiny.pl/adres

  1. Najważniejszy element to mod_rewrite
  2. Regułka w .htaccess może wskazywać na np. index.php?id=adres
  3. W index.php następuje połączenie z bazą danych ( np. MySQL ) i pobranie właściwego adresu na podstawie skrótu, który został przekazany przez $_GET['id']
  4. Przekierowanie: header("Location: http://$dlugi_adres"); die();

Proste jak budowa cepa ;-)

0

Znana od wiekow sprawa, na zachodzie wlasciwie od kiedy istnieje www sa serwisy przekierowujace na inne strony takie jak: goto.com welcometo.com jumptuo.com i wiele wiele innych. Sprawa prosta jak budowa cepa. Serwis "skracajacy adresy" uruchamia w ramce HTML serwis docelowy albo jesli ustawisz odpowiednia opcje w systemie, przekierowuje do danego adresu bezposrednio. Jak to zrobic?

ramki > dokumentacja HTML
przekierowanie np. w PHP: header("Location: strona");
przekierowanie np w JavaScript: document.location.url(strona);
przekierowanie w naglowku HTML: <meta http-equiv="refresh" content="0;url=strona" />

i jeszcze wiele innych metod (np. na DNSach, podfolderach...) wiele by pisac :)

Nawiasem mowiac guest napisales zbyt skomplikowana rzecz, nie trzeba mod_rewrite do tego a nawet bym powiedzial, ze na pewno nie stosuje sie do tego typu przekierowania mod_rewrite.

0

Przekierowanie wiem jak zrobić, chodzi mi właśnie o to ja odczytać nazwę skrótu z adresu, możecie mi cos wiecej opisac jak to zrobić.

Jak zrobic regółkę mod rewrite dla np.

domena.ble/skracacz/nazwa_skrotu

??

Jak zrobić maskowanie adresu docelowego?

0

Maskowanie adresu robisz po prostu umieszczając stronę docelową w ramce.

0

Brzmi rozsądnie :) A co z tym mod rewrite, nadal nie wiem jak wyciągnąc nazwę skrótu z adresu ??

0

no ale to juz twoja sprawa jak. nie konkretnego sposobu. jezeli sobie wybierzesz, ze np bedzie do kazdej strony generowal sobie taki skrot, to potem zapisuj go w bazie danych razem z adresem strony i potem przeszukuj baze na podstawie tego skrotu. ewentualnie uzyj jakiegos algorytmu szyfrujacego, ktory znasz.

0

Karolaq to co piszesz to ja już wiem. Mi chodzi o to że jak wpiszę sobie w przeglądarce

domena.pl/skracacz/fajna_stronka

to nie wiem jak z tego adresu wyciąć sobie nazwę 'fajna_stronka' żeby nasztępnie poszukać jej w bazie danych.

0

Przed chwila takie coś zrobiłem. Ale bez skina. Bo przecie ci chodziło o php
http://www.odsiebie.com/pokaz/12879---1ada.html
Tam jest juz .htaccess itp. ale regułka
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-s [NC]
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteRule ^(.+) index.php?adres=$1 [L]

ale lepiej patch info
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-s [NC]
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteRule ^(.+) index.php/$1 [L]

Wiadomo. Najpierw ustaw sobie config.php oraz za instaluj bazę poprzez install.php . Jest napisany w PDO, w razie problemów, warto przepisać na normalne funkcje sql'owe w php. Ale PDO jest w większości serwerach zainstalowany i uruchomiony.

0

Dzięki bordeux! Sprawdzę to jak tylko będę miał trochę wolnego czasu, czyli jutro w pracy :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1