Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Skracanie linku z .htaccess
Forum PHP.pl > Forum > Przedszkole
mrRosso
witam od długiego czasu męczę się, żeby mój skracacz generował przyjazne linki w postaci www.domena.pl/jakiś_skrót a nie www.domena.pl/?s=skrót bo wygląda to odstraszająco... ;/
Sprawdzałem

  1. RewriteEngine On
  2. RewriteRule /pid/([0-9]+) /index.php?pid=$1 [PT,L]

i wiele innych i bez zmian... byłby ktoś w stanie mi pomóc, albo znaleźć błąd w skrypcie, może to tego wina? strona stoi na serwerze onuse.pl więc obsługuje .htaccess. Plusik za pomoc, pozdrawiam smile.gif





  1. <?
  2.  
  3. if($_POST['adres']){
  4.  
  5.  
  6. $wskaznik_pliku = fopen($nazwa_pliku, 'a+');
  7. $tekst = fread($wskaznik_pliku, filesize($nazwa_pliku));
  8. fclose($wskaznik_pliku);
  9. $wskaznik_pliku = fopen($nazwa_pliku, 'w+');
  10. $tekst++;
  11. fwrite($wskaznik_pliku, $tekst);
  12. $skrot=$tekst;
  13. fclose($wskaznik_pliku);
  14.  
  15.  
  16.  
  17.  
  18. $sql_conn = mysql_connect($adres_bazy , $baza_user, $baza_pass);
  19.  
  20.  
  21. $link = "http://";
  22. $godzina = date('H:i:s');
  23. $data = date("d-m-Y");
  24. $ip = $_SERVER [ 'REMOTE_ADDR' ];
  25. $zapytanie = "INSERT INTO `".$nazwa_tabeli."` ( `link` , `skrot` , `godzina` , `data` , `ip` ) VALUES ('".$link.''.$_POST['adres']."', '".$skrot."', '".$godzina."', '".$data."', '".$ip."');";
  26.  
  27. $idzapytania = mysql_query($zapytanie);
  28. if(!$idzapytania){ echo '<P class=bad>Błędne zapytanie bazy danych! Najprawdopodobniej podano błędnš nazwę tabeli lub użytkownik podany w pliku config.php nie ma uprawnień do wykonania INSERT w podanej bazie danych </p>';
  29.  
  30.  
  31.  
  32. }else{
  33. echo "<br><br><p class=corr><b><center><img src=\"images/generacja.gif\" /></center></b></p><p class=corr><center><img src=\"images/wynik.gif\" /></center></p>";
  34. echo "<center><table border=\"0\" bgcolor=\"black\"><tr><td><a href=\"$adres_http?s=$skrot\"><font color=\"white\">$adres_http?s=$skrot</font></a></td></tr></table></center>";
  35. }
  36. mysql_close($sql_conn);
  37. }
  38.  
  39.  
  40.  
  41. ?>
Michael2318
Przykład:

  1. RewriteEngine On
  2. Options FollowSymLinks
  3.  
  4. RewriteRule ^index,([0-9]+).htm$ index.php?start=$1 [L]


zamieni:
mojastrona.pl/index.php?start=2

na:
mojastrona.pl/index,2.htm
mrRosso
Niestety, wywala błąd "internal server error" w skrypcie muszę coś też zmienić?

i jak? smile.gif
MlodyJNTR
Wywala bląd przez serwer pewnie, dlatego nie działa.
mrRosso
No tyle to wiem, nie mogę tylko znaleźć co jest tego powodem i może ktoś inny coś zdziała...
aras785
moze base?
mrRosso
Że mod_rewrite może być wyłączony, o to Ci chodzi?
aras785
RewriteBase /katalog
mrRosso
No to co mam zrobić, sprawdzić czy jest(bo nie ma ;d)?
MlodyJNTR
Jak to nie zadziała to pewnie hosting zablokował taką możliwość.
Kod
RewriteEngine on
RewriteBase /
RewriteRule ^cus,(.*)\.html$ plik.php?cus=$1 [L]
mrRosso
Chyba niestety nie obsługuje... :/ ale plus za pomoc smile.gif BTW. znacie jakiś darmowy hosting który to obsługuje? nie zależy mi na przestrzeni dyskowej a na tej właśnie funkcji.
MlodyJNTR
cba.pl ale najbardziej polecam ugu.pl
mrRosso
heh... na ugu.pl to samo, zobaczcie na www.tiny.ugu.pl, może w skrypcie coś muszę zmienić?

Może to?

  1. $adres_http?s=$skrot


już sam nie wiem... ;/

Więc może to nie wina serwera?
MlodyJNTR
Kod
RewriteEngine On
RewriteRule /pid/([0-9]+) /index.php?pid=$1 [PT,L]

tu masz /index.php?pid=$1 a w skrypcie masz $adres_http?s=$skrot
zamiast
Kod
RewriteEngine On
RewriteRule /pid/([0-9]+) /index.php?pid=$1 [PT,L]

wklej:
Kod
RewriteEngine On
RewriteRule /pid/([0-9]+) /index.php?s=$1 [PT,L]
i chyba będzie dobrze.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.