Pagina 1 din 2 12 UltimulUltimul
Rezultate 1 la 10 din 13

Subiect: Creare de link-uri programatic cu mod_rewrite

  1. #1
    Avatarul lui Federals
    Federals este deconectat Ambasador
    Reputatie:
    33
    Data înscrierii
    29th November 2007
    Locaţie
    Bucuresti
    Posturi
    612
    Putere Rep
    33


    Implicit Creare de link-uri programatic cu mod_rewrite

    Salut!

    Ma intereseaza sa creez un sistem asemanator celui din WordPress, adica sa creez din cod (nu din .htaccess) inregistrari (probabil intr-o baza de date) pentru link-uri cu mod_rewrite.
    Sa dau un exemplu:

    In WordPress atunci cand creezi un articol, ai si un URL /articolul-meu(.html) care probabil duce la /article.php?id=123

    Stiu cum sa fac asta din .htaccess, dar ce ma intereseaza pe mine e sa iau un anumit camp din baza de date (spre exemplu titlul) si la submit-ul form-ului (atunci cand creez articolul cu pricina) sa mi se genereze un link in genul celui de mai sus.

    Adica m-ar interesa o functie pe care o apelez eu cand creez un articol si care sa fie cam asa:

    RewriteUrl(id, str) unde id este id-ul articolului, iar str este ce vreau sa pun ca link.

    Ca apelare pentru exemplul de mai sus, ar fi RewriteUrl(123, "articolul-meu.html")

    Iar functia asta probabil ca pune toate inregistrarile intr-o baza de date, care sa fie accesata de mod_rewrite.

    Sa fac functia asta stiu, dar nu stiu cum sa fac ca mod_rewrite sa acceseze inregistrarile respective.

    Probabil ca exista asa ceva implementat pe undeva printr-un framework PHP, dar nu stiu care (ca sunt la inceput cu PHP si nu le-am incercat).

    Mersi anticipat!

  2. #2
    Avatarul lui deadworldisee
    deadworldisee este deconectat Membru SeoPedia
    Reputatie:
    34
    Data înscrierii
    6th April 2008
    Locaţie
    iasi
    Vârstă
    37
    Posturi
    1.034
    Putere Rep
    34


    Implicit

    Nu am inteles ce vrei sa zici, dar presupun ca te referi cand folosesti formul de search sa te duca pe un url gen site.com/cuvant-cautat ?

    Daca e asa nu-ti trebuie nici o functie pt asta.

    Modifici formul sa trimita prin POST catre pagina curenta,si la inceputul paginii, faci un redirect cu header() catre url-ul dorit.

  3. #3
    Avatarul lui Federals
    Federals este deconectat Ambasador
    Reputatie:
    33
    Data înscrierii
    29th November 2007
    Locaţie
    Bucuresti
    Posturi
    612
    Putere Rep
    33


    Implicit

    Nu, eu vreau sa creez link-urile odata cu continutul. Ca la orice CMS. De exemplu vrei sa scrii un articol. Ii introduci titlul, detalii, samd. Cand ii dai submit, iti genereaza un link cu titlul introdus de tine, pe care il foloseste mod_rewrite. Exact asta vreau sa fac si eu, dar nu stiu cum

    Adica si mai simplu, sa ii spui lui mod_rewrite "ia link-ul din coloana original_link si rescrie-l cu link-ul din coloana rewrite_with", unde coloanele sunt luate dintr-o baza de date de genul:

    --------------------------------------------
    original_link | rewrite_with
    --------------------------------------------
    article.php?id=123 | titlu-articol-1.html
    article.php?id=456 | titlu-articol-2.html
    Ultima modificare făcută de Federals; 24th September 2008 la 11:48.

  4. #4
    Avatarul lui rnicolescu
    rnicolescu este deconectat Membru SeoPedia
    Reputatie:
    36
    Data înscrierii
    6th October 2005
    Posturi
    110
    Putere Rep
    36


    Implicit

    p1.php
    Cod PHP:
    $cale str_replace(' ''-'$myrow[nume]); 
    $cale='/' .$myrow[id] .'/' .$cale .'/';
    echo 
    '<a href="p2.php' .$cale .'" 
    title="'
    $myrow[nume].'" style="color: black;">
    [ vezi detalii ]
    </a>'

    p2.php
    Cod PHP:
    $pathdata explode("/",$_SERVER['REQUEST_URI']);
    $id=$pathdata[2]; 
    Ma rog, este copiat din niste pagini functionale, dar ca exemplu merge.

  5. #5
    Avatarul lui Bogdan Citoiu
    Bogdan Citoiu este deconectat Ambasador
    Reputatie:
    35
    Data înscrierii
    15th November 2006
    Locaţie
    Timisoara
    Vârstă
    40
    Posturi
    518
    Putere Rep
    35


    Implicit

    Cod PHP:
     function legatura($id_categorie$alias NULL)
    {
      if (
    $alias)
        return (
    $alias.'-'.intval($id_categorie).'.html')        
      else
        return 
    'categorie.php?id_categorie='.intval($id_categorie);

    si in fisierul php de unde apelezi functia ai:

    Cod PHP:
    <a href="legatura($id_categorie$rescriere_legatura)">ceva</a
    in tabela unde ai categorii sau articole/pagini trebuie sa ai si un camp cu rescriere legatura unde ai adresa cum vrei sa arate (sau dupa titlu poti sa faci rescrierea de legatura). $id_categorie si $rescriere_legatura se iau din bd.
    Strazi si obiective din orasul Timisoara localizate pe Harta Timisoara.

  6. #6
    Avatarul lui deadworldisee
    deadworldisee este deconectat Membru SeoPedia
    Reputatie:
    34
    Data înscrierii
    6th April 2008
    Locaţie
    iasi
    Vârstă
    37
    Posturi
    1.034
    Putere Rep
    34


    Implicit

    Nu stiu de ce va mai chinuiti sa puneti .html in link ca oricum nu are importanta...

  7. #7
    Avatarul lui Dever
    Dever este deconectat Ambasador
    Reputatie:
    35
    Data înscrierii
    28th July 2006
    Locaţie
    UK
    Vârstă
    43
    Posturi
    378
    Putere Rep
    35


    Implicit

    Teoretic cel mai simplu si eficient rewrite este cel care trimite toate requesturile (care nu sunt catre fisiere sau directoare existente) catre un index.php. Restul este cod php care proceseaza URL-ul.

    Cod:
    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    
    RewriteRule ^(.*)$ index.php/$1 [L]
    Cele 2 conditii (RewriteCond) verifica daca request-ul nu este catre un fisier sau director.
    (Atentie ca rescrierea este index.php/blah.
    Codul de mai sus functioneaza cu Code Igniter, ca tot vorbeam de framework-uri php mai devreme
    )
    Ultima modificare făcută de Dever; 24th September 2008 la 21:07.
    Dever's Blog - Atentie! dau cu parerea.

  8. #8
    Avatarul lui Federals
    Federals este deconectat Ambasador
    Reputatie:
    33
    Data înscrierii
    29th November 2007
    Locaţie
    Bucuresti
    Posturi
    612
    Putere Rep
    33


    Implicit

    multumesc tuturor, am sa incerc cod(-urile) cand incep aplicatia

  9. #9
    Avatarul lui forapathy
    forapathy este deconectat Membru SeoPedia
    Reputatie:
    33
    Data înscrierii
    7th May 2007
    Locaţie
    Iasi
    Vârstă
    39
    Posturi
    212
    Putere Rep
    33


    Implicit

    http://www.ideaticus.com/2008/01/10/...url-rewriting/
    e un url rewrite scris de un prieten si care il folosesc si eu cu succes.. cred

    transforma linkurile de genu index.php?action=page&var1=valoare1
    in
    page-var1-valoare1.html

    poate va ajuta si pe voi
    Scriu, rar, pe point47 diverse tips&tricks in web-dev.

  10. #10
    Avatarul lui Federals
    Federals este deconectat Ambasador
    Reputatie:
    33
    Data înscrierii
    29th November 2007
    Locaţie
    Bucuresti
    Posturi
    612
    Putere Rep
    33


    Implicit

    Citat Postat în original de forapathy Vezi Post
    http://www.ideaticus.com/2008/01/10/...url-rewriting/
    e un url rewrite scris de un prieten si care il folosesc si eu cu succes.. cred

    transforma linkurile de genu index.php?action=page&var1=valoare1
    in
    page-var1-valoare1.html

    poate va ajuta si pe voi
    stiu, dar eu voiam ceva custom, cu extragere din baza de date. oricum am rezolvat teoretic, trebuie sa pun si in practica

Pagina 1 din 2 12 UltimulUltimul

Informații subiect

Utilizatori care navighează în acest subiect

Momentan este/sunt 1 utilizator(i) care navighează în acest subiect. (0 membrii și 1 vizitatori)

Thread-uri Similare

  1. Creare E-book - Pret
    De edy12006 în forumul Servicii web / Jobs
    Răspunsuri: 2
    Ultimul Post: 22nd March 2010, 21:43
  2. Vand Site creare si administrare Form-uri online
    De Consumatorul în forumul Website-uri
    Răspunsuri: 9
    Ultimul Post: 7th December 2009, 01:34
  3. Caut pe cineva pt. creare portal
    De dany24ro în forumul Servicii web / Jobs
    Răspunsuri: 6
    Ultimul Post: 18th January 2008, 09:15
  4. Creare cont 2checkout.com
    De Sorin Frumuseanu în forumul Comert electronic, e-Commerce
    Răspunsuri: 3
    Ultimul Post: 16th December 2006, 19:19
  5. Mod_rewrite
    De aresgod în forumul Utile
    Răspunsuri: 6
    Ultimul Post: 19th June 2006, 12:12

Permisiuni postare

  • Nu puteţi posta subiecte noi.
  • Nu puteţi răspunde la subiecte
  • Nu puteţi adăuga ataşamente
  • Nu puteţi modifica posturile proprii
  •