Ciao ho un problema con le regex e PHP...
HO un file index:
function.phpCodice PHP:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<? $page = $_GET['pagina']; include function.php; ?>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Senza nome 1</title>
</head>
<body>
<? Body(); ?>
</body>
</html>
Per sfruttare il fattore indicizzazzione utilizzo il MOD_REWRITE:Codice PHP:
if($page == "due"){
function Body(){
// Elenca tutte le img di una directory e ne esegue la paginazione
}
}elseif($page == "ds"){
//
} // ETC
Come si può ben capire ho più pagine che mostrano un body diverso a seconda di $_GET...la maggior parte delle pagine esistono...altre sono virtuali come la cartella...ora la prima rule funzionaCodice:RewriteEngine On RewriteBase / RewriteRule ^cartella-virtuale/categoria-([a-z]+)-([0-9]+).html$ /index.php?pagina=due&category=$1&pag=$2 RewriteRule ^cartella-virtuale/categoria-(.*)\.html$ /index.php?pagina=due&category=$1 [L] RewriteRule ^(.*)\.html$ default.php?pagina=$1
La seocnda no:Codice:RewriteRule ^cartella-virtuale/categoria-(.*)\.html$ /index.php?pagina=due&category=$1 [L]
Perchè se io faccio nella pagina dueCodice:RewriteRule ^cartella-virtuale/categoria-([a-z]+)-([0-9]+).html$ /index.php?pagina=due&category=$1&pag=$2
Ed ho una cosa del tipo: sito.com/cartella-virtuale/categoria-barche-1.html vi viene stampato:Codice PHP:echo "CATEGORIA: $cat <br /> PAGINA: {$_GET['pagina']} <br /> PAG: {$_GET['pag']}";
CATEGORIE: barche-1
PAGINA: due
PAG:
Quindi il problema e che il trattino tra la categoria e il numero della pagina viene letto come categoria...come posso risolvere con il rewrite questo problema?
Aiutatemi vi prego...

LinkBack URL
About LinkBacks
