Newsgroup: it.comp.www.php
Titolo: url graditi ai motori di ricerca

Salve a tutti,
provando un po' oscommerce, ho notato che c'è questa funzione
    if ( (SEARCH_ENGINE_FRIENDLY_URLS == 'true') && ($search_engine_safe ==
true) ) {
      while (strstr($link, '&&')) $link = str_replace('&&', '&', $link);
      $link = str_replace('?', '/', $link);
      $link = str_replace('&', '/', $link);
      $link = str_replace('=', '/', $link);
    }
    return $link;
che restituisce degli url "camufatti" da pagine statiche.
Perchè tale funzione non funziona su Apache2 e PHP4.2.2 del mio hosting
provider?
Cosa c'è di incompatibile? Cosa da aggiornare in questo script?
Grazie a chiunque vorrà offrirmi una spiegazione plausibile.
P.

mi correggo, scusatemi.
L'intera funzione è la seguente:
  function tep_href_link($page = '', $parameters = '', $connection =
'NONSSL', $add_session_id = true, $search_engine_safe = true) {
    if (!tep_not_null($page)) {
      die('</td></tr></table></td></tr></table><br><br><font
color="#ff0000"><b>Error!</b></font><br><br><b>Unable to determine the page
link!<br><br>');
    }
    if ($connection == 'NONSSL') {
      $link = HTTP_SERVER . DIR_WS_CATALOG;
    } elseif ($connection == 'SSL') {
      if (ENABLE_SSL == true) {
        $link = HTTPS_SERVER . DIR_WS_CATALOG;
      } else {
        $link = HTTP_SERVER . DIR_WS_CATALOG;
      }
    } else {
      die('</td></tr></table></td></tr></table><br><br><font
color="#ff0000"><b>Error!</b></font><br><br><b>Unable to determine
connection method on a link!<br><br>Known methods: NONSSL SSL</b><br><br>');
    }
    if (tep_not_null($parameters)) {
      $link .= $page . '?' . $parameters;
      $separator = '&';
    } else {
      $link .= $page;
      $separator = '?';
    }
    while ( (substr($link, -1) == '&') || (substr($link, -1) == '?') ) $link
= substr($link, 0, -1);
// Add the session ID when moving from HTTP and HTTPS servers or when SID is
defined
    if ( (ENABLE_SSL == true ) && ($connection == 'SSL') && ($add_session_id
== true) ) {
      $sid = tep_session_name() . '=' . tep_session_id();
    } elseif ( ($add_session_id == true) && (tep_not_null(SID)) ) {
      $sid = SID;
    }
    if (isset($sid)) {
      $link .= $separator . $sid;
    }
    if ( (SEARCH_ENGINE_FRIENDLY_URLS == 'true') && ($search_engine_safe ==
true) ) {
      while (strstr($link, '&&')) $link = str_replace('&&', '&', $link);
      $link = str_replace('?', '/', $link);
      $link = str_replace('&', '/', $link);
      $link = str_replace('=', '/', $link);
    }
    return $link;
  }
Ancora grazie a chi vorrà aiutarmi.
P.

 Cosa c'h di incompatibile? Cosa da aggiornare in questo script?
Per poter funzionare dovrebbe esserci un file .htaccess che effettual
il rewrite degli url prima di passarli allo script php corretto.
Ti suggerisco di verificare se il tuo provider fornisce il modulo
apache mod_rewrite (od equivalente) ed eventualmente prova a
cercare/postare nella community di oscommerce.
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/1
Inviare email con allegati? 
http://url.repository.biz/go/1Z
Cerchi un programmatore PHP/MySQL? 
http://url.repository.biz/go/1Y
L'uomo, conscio di sbagliare, persevera.

 cercare/postare nella community di oscommerce.
Grazie Setec, sei un pozzo di scienza.
Come dovrebbe essere strutturato l'.htaccess?
Hai un link per imparare?
E poi c'è un modo rapido per vedere se c'è il mod_rewrite attivo
o devo per forza chiedere in assistenza?
Ancora grazie
P.

 ha scritto nel messaggio
news:XyJ2c.12256$O31.5...@news4.tin.it...

Dai un occhiata qui
http://www.studiocappello.it/wm/URL_Replacer/url_replacer.html
penso possa interessarti
Ciao
FL

 o devo per forza chiedere in assistenza?
 
Se .htaccess funziona e mod_rewrite funziona allora li hai entrambi attivi
:)
Per saperne di piů su .htaccess
http://forum.html.it/forum/showthread.php?s=&threadid=351250
Per come strutturare le espressioni regolari di mod_rewrite trovi tutto ai
link citati nella pagina che ti ha segnalato Freelance
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

Grazie a tutti,
darň una lettura alle pagine che mi avete indicato
sperando di trovarci qualcosa di buono.
La cosa sta diventando un problema grosso perchč
l'eshop era indicizzato in google con gli url riscritti mentre
ora, dal passaggio ad Apache2, le pagine indicizzate da google
danno tutte errore 404. Ovviamente tutti contatti persi.
P.


Sbagliatissimo usare Apache2 + PHP in produzione, comunque mod_rewrite non
dovrebbe avere problemi.
Se invece utilizzavi la tecnica che si serve di PATH_INFO devi abilitare
l'apposita direttiva di Apache2
