Rezultate 1 la 9 din 9

Subiect: Probleme mod_rewrite

  1. #1
    Avatarul lui Gabriel Puscuta
    Gabriel Puscuta este deconectat Ambasador
    Reputatie:
    38
    Data înscrierii
    7th September 2006
    Locaţie
    Sibiu
    Posturi
    786
    Putere Rep
    38


    Implicit Probleme mod_rewrite

    Salutare,

    Nu pot sa-mi dau seama de ce nu se rescriu url-urile. Local merg struna, cand le pun pe server nu merg deloc. Poate ma ajuta cineva.

    Codul php:
    while ($query = mysql_fetch_array($result)) {
    $title = htmlspecialchars($query["title"]);
    $id = $query["id"];
    $category = $query["category"];
    $seo_title = str_replace(" ","-",$title);
    $seo_title = str_replace("&","and",$seo_title);
    $seo_category = str_replace(" ","-",$category);
    $seo_category = str_replace("&","-and-",$seo_category);
    $seo_category = str_replace("&","-and-",$seo_category);
    $seo_category = str_replace("/","-and-",$seo_category);
    $seo_category = str_replace("::","/",$seo_category);
    URL:
    <a href="<?php print $baseHREF; ?><?php print $seo_category; ?>/<?php print $seo_title; ?>-download-<?php print $id; ?>.html"><?php print $title;?></a>
    si .htaccess:
    Options +FollowSymLinks
    RewriteEngine on

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule -(\d*).html$ soft.php?id=$1
    Eroare de pe server:
    Not Found
    The requested URL /Folder/The-Category/Sub-category/Some-File-download-id.html was not found on this server.

    Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
    Aveti vreo idee de ce nu ruleaza pe server?
    Multumesc.

  2. #2
    Avatarul lui c_n_m
    c_n_m este deconectat Ambasador
    Reputatie:
    40
    Data înscrierii
    25th February 2006
    Locaţie
    București / Ilfov
    Vârstă
    53
    Posturi
    622
    Putere Rep
    40


    Implicit

    Vezi daca merge asa:

    RewriteRule ^(.*)-([0-9]+)\.html$ /soft.php?id=$2 [L,NC]
    Ultima modificare făcută de c_n_m; 12th May 2007 la 02:54.

  3. #3
    Avatarul lui Sputz
    Sputz este deconectat Ambasador
    Reputatie:
    35
    Data înscrierii
    15th April 2007
    Locaţie
    Bucuresti
    Vârstă
    40
    Posturi
    172
    Putere Rep
    35


    Implicit

    Poate nu ai pe server mod_rewrite.

  4. #4
    Avatarul lui Gabriel Puscuta
    Gabriel Puscuta este deconectat Ambasador
    Reputatie:
    38
    Data înscrierii
    7th September 2006
    Locaţie
    Sibiu
    Posturi
    786
    Putere Rep
    38


    Implicit

    Citat Postat în original de c_n_m Vezi Post
    Vezi daca merge asa:
    Nu stiu cum sa-ti multumesc. Merge ca uns. MULTUMESC frumos!

  5. #5
    Avatarul lui Gabriel Puscuta
    Gabriel Puscuta este deconectat Ambasador
    Reputatie:
    38
    Data înscrierii
    7th September 2006
    Locaţie
    Sibiu
    Posturi
    786
    Putere Rep
    38


    Implicit

    @c_n_m
    Cum pot sa-i fac pe useri sa vada doar url-urile rescrise?
    Adica, sa nu poata sa acceseze amandoua
    domeniu.com/Folder/Category-Name/Subcategory-Name/Software-Title.html
    si
    domeniu.com/soft.php?id=n

    Sa fie accesibila doar prima. Iar daca incearca sa scrie a2a sa fie redirectat catre prima sau sa dea eroare.

    Ai vreo idee? Ma poti ajuta?
    Mersi

  6. #6
    Avatarul lui c_n_m
    c_n_m este deconectat Ambasador
    Reputatie:
    40
    Data înscrierii
    25th February 2006
    Locaţie
    București / Ilfov
    Vârstă
    53
    Posturi
    622
    Putere Rep
    40


    Implicit

    Cu placere.

    In legatura cu "detectarea" url-ului vechi (fara rewrite) si redirectionarea catre noul url in cazul in care a fost accesat cel vechi, se poate incerca ceva de genul urmator (se pune in pagina inainte de orice alta afisare, pentru ca utilizeaza functia "header"):

    $url_actual=$_SERVER['PHP_SELF'];
    if (eregi('soft\.php', $url_actual)) {
    $url_nou="domeniu.com/Folder/Category-Name/Subcategory-Name/Software-Title.html"; // pe asta il construiesti tu cum trebuie sa fie, in baza parametrilor pe care ii primesti oricum in pagina, sa ai grija daca ti propui sa utilizezi www sau nu
    header("HTTP/1.0 301 Moved Permanently");
    header("Location: ".$url_nou);
    exit();
    };
    Sper sa mearga... De asemenea, e bine ca referintele de pe site (si de pe alte site-uri, eventual) sa fie catre noile url-uri. Succes!

  7. #7
    Avatarul lui Gabriel Puscuta
    Gabriel Puscuta este deconectat Ambasador
    Reputatie:
    38
    Data înscrierii
    7th September 2006
    Locaţie
    Sibiu
    Posturi
    786
    Putere Rep
    38


    Implicit

    Mersi din nou. Am sa incerc, sa vedem ce iasa.

  8. #8
    Avatarul lui Gabriel Puscuta
    Gabriel Puscuta este deconectat Ambasador
    Reputatie:
    38
    Data înscrierii
    7th September 2006
    Locaţie
    Sibiu
    Posturi
    786
    Putere Rep
    38


    Implicit

    Mai am asa ceva:
    domeniu.ro/cauta.php?usr=1&log=1&q=ceva+de+cautat
    Pentru tipul asta:
    RewriteRule ^cauta/(.*)$ cauta.php?q=$1&rewrite=1%{QUERY_STRING} [L]
    Merge perfect daca scrii direct: cauta/ceva+de+cautat

    EDIT:
    Asta e formul:
    <form name='search' action='search.php'>
    <input type='hidden' name='usr' value='1' />
    <input type='hidden' name='log' value='1' />
    <p>
    <input type='text' name='q' size='60' value='<?php print (isset($parts[1])?"":$q); ?>' class="search"/>
    <input type='submit' onclick='if (!document.search.q.value) {alert("Va rugam introduceti un cuvant cheie");return false;}' value='<?php print translate("Cauta"); ?>' class="button"/>
    </p>
    </form>
    Cum sa fac si pentru primul?
    Mersi
    Ultima modificare făcută de Gabriel Puscuta; 15th May 2007 la 23:49.

  9. #9
    Avatarul lui Gabriel Puscuta
    Gabriel Puscuta este deconectat Ambasador
    Reputatie:
    38
    Data înscrierii
    7th September 2006
    Locaţie
    Sibiu
    Posturi
    786
    Putere Rep
    38


    Implicit

    Incerc sa rescriu search-ul... Ma cam depaseste prin apache si nu stiu cum sa fac. E un script cam la fel cu cel de sus. Insa arata asa:

    In search.php am scris asta:
    Cod PHP:
    $string = (isset($_GET["string"])?tnormalise($_GET["string"],":\."):"");
      
    $usr = (isset($_GET["usr"])?intval($_GET["usr"]):0);

      if (
    $usr)
      {
        
    $url $baseHREF."search/".urlencode($string);

        
    header("Location: ".$url);

        exit();
      } 
    Formularul de cautare arata asa:
    Cod PHP:
    <form action="<?php print $baseHREF?>search.php">
                          <p>
                          <b>Search in:</b> &nbsp;
                          <input type="radio" name="search" value="Description" checked> Description &nbsp;
                          <input type="radio" name="search" value="Keywords"> Keywords &nbsp;
                          <input type="radio" name="search" value="Title"> Title &nbsp;
                          <input type="radio" name="search" value="Company"> Company
                          </p><p>
                          <b>Search for:</b> &nbsp;
                          <input type="text" size="50" name="string" value="<?php print (isset($string)?$string:""); ?>">&nbsp;<input type="submit" value="Search">
                        <input type='hidden' name='usr' value='1' />
                          </p><p>
                          <b>Match:</b> &nbsp;
                          <input type="radio" name="match" value="Any" checked> Any word &nbsp;
                          <input type="radio" name="match" value="All"> All words &nbsp;
                          <input type="radio" name="match" value="Exact"> Exact phrase
                          </p>
                        </form>
    Am incercat un pic cu apache ceva de genul:
    RewriteRule ^search/(.*)$ search.php?string=$1{QUERY_STRING} [L]
    Dar n-am reusit. Mai sunt cateva valori pe langa "string", adica "search" si "match" pe care nu stiu cum sa le introduc in cod.

    Aveti careva vreo idee?
    Incerc sa rescriu search-ul. Sa arate ceva de genul:
    domeniu.com/search/search+string

    EDIT: Momentan arata asa:
    search.php?search=Description&string=cuvant+cautat &usr=1&match=Any
    Va multumesc mult.
    Ultima modificare făcută de Gabriel Puscuta; 21st May 2007 la 21:17.

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. Mod_rewrite Tutorial
    De Razvan Pop în forumul Utile
    Răspunsuri: 53
    Ultimul Post: 21st September 2014, 19:24
  2. incercare mod_rewrite
    De tony2909 în forumul Utile
    Răspunsuri: 4
    Ultimul Post: 24th April 2007, 11:46
  3. mod_rewrite again
    De fester în forumul Server side
    Răspunsuri: 8
    Ultimul Post: 18th March 2007, 09:14
  4. Mod_rewrite
    De aresgod în forumul Utile
    Răspunsuri: 6
    Ultimul Post: 19th June 2006, 12:12
  5. mod_rewrite
    De Anonymous în forumul Discutii generale privind optimizarea si motoarele de cautare
    Răspunsuri: 1
    Ultimul Post: 1st March 2005, 14:31

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
  •