2011-06-24 18 views
5

Ho un URL che sarà qualcosa come example.com/index.php?p=test in modo che il PHP caricherà la variabile di test utilizzando $_GET['p']. L'URL può essere già semplificato in example.com?p=test; tuttavia, desidero semplificare questo nel mio .htaccess a site.com/test. Come potrei fare questo?

risposta

13

Inserire il seguente nel file .htaccess:

RewriteEngine on 

# The two lines below allow access to existing files on your server, bypassing 
# the rewrite 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule (.*) index.php?p=$1 [QSA] 

si può quindi accedere whatever dal example.com/whatever come la seguente:

$value = $_GET['p']; // "whatever" 
+0

ho altri file sul mio server, però, con questo non lo fa permettimi di accedere a qualcuno di loro. Ad esempio, ho site.com/forum, che si rompe: (in qualsiasi modo potrei averlo, funziona SOLO sulla radice e solo se la directory non esiste già? – hetoan2

+0

@ hetoan2: Ho aggiornato la mia risposta Spero che ti possa aiutare con questo –

+0

grazie che ho risolto il problema con la mia directory, ma non riesco ad accedere ai file da example.com/whatever quando lo inserisco solo quando inserisco example.com/index.php?p = qualunque cosa riscriverà l'url come example.com/whatever – hetoan2

Problemi correlati