2011-06-24 13 views
5

tengo una URL que va a ser algo así como example.com/index.php?p=test para que el PHP se carga la variable de prueba utilizando $_GET['p']. La URL ya se puede simplificar a example.com?p=test; sin embargo, deseo simplificar esto en mi .htaccess a site.com/test. ¿Cómo voy a hacer esto?

Respuesta

13

Coloque el siguiente en el archivo .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] 

luego podrás acceder a whatever de example.com/whatever como la siguiente:

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

tengo otros archivos en mi servidor, sin embargo, el uso de este no lo hace Permíteme acceder a cualquiera de ellos. Por ejemplo, tengo site.com/forum, que se rompe :(de alguna manera podría hacer que funcione SOLAMENTE en la raíz, y solo si el directorio aún no existe? – hetoan2

+0

@ hetoan2: He actualizado mi respuesta para ayudarte con eso. –

+0

gracias por haber solucionado el problema de mi directorio, pero parece que no puedo acceder a los archivos de example.com/whatever cuando lo introduzco. Solo cuando ingreso example.com/index.php?p = lo que sea que reescriba la url como example.com/whatever – hetoan2

Cuestiones relacionadas