[php, mysql] skracacz

[php, mysql] skracacz
NA
  • Rejestracja:prawie 18 lat
  • Ostatnio:ponad 17 lat
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 ;-)

RO
  • Rejestracja:ponad 21 lat
  • Ostatnio:prawie 7 lat
  • Postów:162
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.

NA
  • Rejestracja:prawie 18 lat
  • Ostatnio:ponad 17 lat
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?

Ktos
Moderator
  • Rejestracja:prawie 23 lata
  • Ostatnio:około 7 godzin
0

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

NA
  • Rejestracja:prawie 18 lat
  • Ostatnio:ponad 17 lat
0

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

KA
  • Rejestracja:około 21 lat
  • Ostatnio:około 4 lata
  • Postów:1652
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.

NA
  • Rejestracja:prawie 18 lat
  • Ostatnio:ponad 17 lat
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.

bordeux
  • Rejestracja:około 18 lat
  • Ostatnio:8 miesięcy
  • Lokalizacja:Chorzów
  • Postów:1130
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.


:)
NA
  • Rejestracja:prawie 18 lat
  • Ostatnio:ponad 17 lat
0

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.