R: [Php-it] Mod_rewrite e Buon Anno

simo fsockopen at yahoo.it
Tue Jan 2 13:42:54 CET 2007


Ciao 
se vuoi integrare le SEF-URL (SearchEngineFriendlyURL)

ci sono 2 modi per fare cio':

1) tramite la Rewrite di apache che pero' ha delle controindicazioni:
alla prima richiesta che il browser fa dopo il click il server web risponde non 200 (OK) ma 301 (Permanet Redirect)
con una location: index.php?... da seguire. 
Non e' detto quindi che tutti i crawler (es) la seguano.

2) tramite la ForceType
quando ad apache viene fatta una GET tipo: 
http://www.miodominio.it/index.php/quello/che/ti/pare
lui controlla che esista il file/dir "pare" se non lo trova controlla che esista "ti", se non lo trova controlla "che", se non lo trova controlla "quello" e infne "index.php" che viene trovata ed eseguita.
con la Direttiva ForceType si puo' fa eseguire qualsiasi file da uno specifico interprete.
es.

<Files articoli>
    ForceType application/x-httpd-php
</Files>

il file articoli (senza estensione) e' solo:
<? include('index.php'); ?>

la variabile $_SERVER['REQUEST_URI'] contiene tutto quanto quindi rimuovendoci la lunghezza del $_SERVER['SCRIPT_NAME']: rimangono solo i parametri separati da / ... che puoi tranquillamente estrarre es. esplodendo la variabile ottenuta per "/",
$PATH_INFO = substr($_SERVER['REQUEST_URI'] , strlen($_SERVER['SCRIPT_NAME']), strlen($_SERVER['REQUEST_URI']) - strlen($_SERVER['SCRIPT_NAME']));
$params = explode('/', $PATH_INFO);

Ciao

Simone



----- Messaggio originale -----
Da: Lorenz <splmv a yahoo.it>
A: Lista dedicata al linguaggio di programmazione PHP <php-it a lists.ziobudda.net>
Inviato: Martedì 2 gennaio 2007, 12:19:44
Oggetto: [Php-it] Mod_rewrite e Buon Anno

________________SPONSOR______________
Spazio pubblicitario libero.
mail a info a ziobudda.net



________________SPONSOR______________

Ragazzi scusatemi,
ma ho bisogno di aiuto come di consueto.

Fino adesso ho sempre usato una regoletta che mi riscriveva url di questo 
tipo:
www.miosito.it/notizie.php?id=1&titolo=il_mio_titolo

in www.miosito.it/1/il_mio_titolo.html

ora devo fare qualcosa di + complesso ma dopo 3 giorni di tentativi 
fallimentari chiedo a voi:

questo l'url da riscrivere
www.miosito.it/articoli/index.php?id1=1&id2=2&id3=3&id4=4&categoria=59&titolo=il_mio_titolo

devo trasformarlo in
www.miosito.it/articoli/1,2,3,4,59/il_mio_titolo.html

Riuscite ad aiutarmi?
Grazie e Buon anno

Ps posto quello che fino adesso ho partorito (con zero risutalti)

=============================
RewriteEngine On

#RewriteCond %{SCRIPT_FILENAME} !-d
#RewriteCond %{SCRIPT_FILENAME} !-f

#RewriteRule
  ^/articoli/([0-9]+),([0-9]*),([0-9]*),([0-9]*),([0-9]*),([0-9]*)/([^/]+).html$
   /articoli/index.php?id1=$1&id2=$2&id3=$3&id4=$4&sezione=$5&titolo=$6 

_______________________________________________
Php-it mailing list
Php-it a lists.ziobudda.net
Per cancellarsi dalla lista: http://lists.ziobudda.net/mailman/listinfo/php-it




__________________________________________________
Do You Yahoo!?
Poco spazio e tanto spam? Yahoo! Mail ti protegge dallo spam e ti da tanto spazio gratuito per i tuoi file e i messaggi 
http://mail.yahoo.it 


More information about the Php-it mailing list