mod_rewrite Problema – Instradare le pagine per interrogare la string

Ho bisogno di aiuto con il mio mod_rewrite per un sito in cui al momento sto lavorando.

Diciamo che ho questo sito http://example.com

E voglio essere in grado di apportre qualsiasi valore dopo il / per indirizzare a page.php come di seguito

http://example.com/value1 http://example.com/value2 

puntare a

 http://example.com/page.php?id=value1 http://example.com/page.php?id=value2 

,rispettivamente.

Ma non il path verso quella pagina quando im indicando "admin"

 http://example.com/admin/ 

ho provato

 RewriteEngine on RewriteCond $1 !^(admin) RewriteRule ^(.*)$ /page.php?id=$1 [L] 

Ma non sta funzionando. qualche idea?

$1 non è disponibile al momento della condizione. Credo che quello che stai cercando sia vicino a:

 RewriteEngine on RewriteBase / RewriteCond %{REQUEST_URI} !^admin/.* RewriteRule ^(.*)$ page.php?id=$1 [L] 

questa regola fa sì che tutto non inizi con admin/ per andare a /page.php . Non credo che% {param} sia facoltativo. Usare RewriteBase / significa che non devi RewriteBase / on /admin e /page.php ; potrebbe effettivamente essere un errore se usi /page.php invece di page.php

Se si dispone di mezzi per accedere ai valori del server, la regola finale può essere:

 RewriteRule . page.php [L] 

Puoi trovare l'URL chiamato nel REQUEST_URI

Questo di qualche aiuto?

.htaccess mod_rewrite – come escludere la directory dalla regola di riscrittura