HELP REGOLA MOD REWRITE

Arrivo subito al dunque.

Ho bisogno di tradurre questi url

www.sito.it/nome_categoria => www.sito.it/index/index.php?action=home&cat=nome_categoria

www.sito.it/nome_categoria/sotto_categoria =>www.sito.it/index/index.php?action=home&cat=nome_categoria&subcat=sotto_categoria

se potessi fare una cosa del tipo www.sito.it/offerte/categoria/sottocategoria , il problema l'avrei già risolto...ma devo seguire per forza quel tipo di sintassi (per motivi X)

Il problema e che non riesco a creare delle regole poichè vanno in conflitto con delle altre...

Avrei bisogno di una regola che mi specificasse delle negazioni: se l'url non finisce con .php,.html allora

RewriteRule ^(.*)$ index\/index.php\?action=home&cat=$1 [L] (nel caso c'è solo specifica la categoria)

altrimenti

RewriteRule ^(.*)\/(.*)$ index\/index.php\?action=home&cat=$1&subcat=2 [L] (nel caso c'è specificata anche la sottocategoria)

insomma ho fatto un pò di prove  ma sto impazzendo .... help me...

inviato 7 anni fa
Toto007
X 0 X

ho voluto fare queste piccola prova

RewriteCond %{REQUEST_URI} !\.html$

RewriteRule ^(.*)$ index/index.php?action=home&cat=$1 [L,NC]

digito l'url www.sito.it/nome_categoria

però quando faccio echo $_GET['cat'] mi esce scritto 'index/index.php' 

perchè :S?

risposto 7 anni fa
Toto007
X 0 X

ho risolto...però se avete da darmi qualche consiglio per ottimizzare al meglio ben venga...

RewriteCond %{REQUEST_URI} join.html

RewriteRule ^join.html$ index/index.php?action=join [L,NC]

RewriteCond %{REQUEST_URI} messages.html

RewriteRule ^messages.html$ index/index.php?action=messages [L,NC]

RewriteCond %{QUERY_STRING} (action=)

RewriteRule ^index.php?action=([^\.]+)$ index/index.php?action=$1 [L,NC]

RewriteCond %{REQUEST_URI} (index\.php)|(index\.html)

RewriteRule ^(index\.php)|(index\.html)$ index/index.php?action=home [L,NC]

RewriteCond %{REQUEST_URI} !(\.html)|!(\.php)

RewriteRule ^([^\.]+)/([^\.]+)$ index/index.php?action=home&cat=$1&subcat=$2 [L,NC]

RewriteCond %{REQUEST_URI} !(\.html)|!(\.php)

RewriteRule ^([^\.]+)$ index/index.php?action=home&cat=$1 [L,NC]

risposto 7 anni fa
Toto007
X 0 X

Secondo me conviene far puntare tutti gli URL richiesti verso lo script index.php:

RewriteEngine on

RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php

poi via PHP devi leggere l'URL richiesto dal browser e devi estrarre i parametri presenti

 :bye:

risposto 7 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda