La regla htaccess no funciona en localhost

Perdón por haber cambiado la pregunta anterior. Tengo un problema con .htaccess rewrite rule en localhost, tengo el archivo .htaccess en http: // localhost / testing / .htaccess. Quiero cambiar la URL como a continuación

http://localhost/testing/site.php?site=test 

a

 http://localhost/testing/test 

Y tengo el código en .htaccess como

 RewriteEngine on RewriteRule ^([^/\.]+)/?$ site.php?site=$1 [L] 

Lo cual funciona correctamente, pero también me gusta

 http://localhost/testing/pages.php?site=test&pid=2 

Aquí pages.php con dos parámetros como el nombre del sitio y la identificación de la página. Quiero reescribir esto como

 http://localhost/testing/test/2 

Para ambas condiciones, tengo el siguiente código que no funciona

 RewriteEngine on RewriteRule ^([^/\.]+)/?$ site.php?site=$1 [L] RewriteRule ^([^/\.]+)/?$ pages.php?site=$1&pid=$2 [L] 

Por favor ayuda

Gracias 🙂

Lo que necesita hacer es encender el mod_rewrite en su servidor Apecha al realizar estos pasos:

  1. Suponiendo que ha desempaquetado la carpeta xampp en el directorio C:\ , navegue a la carpeta que contiene los archivos de configuración de apache. La ruta completa es C:\xampp\apache\conf\.

  2. En la carpeta conf, encontrará un archivo llamado httpd.conf. Este archivo contiene todos los parámetros de configuración para apache. Abra el archivo en un editor de texto.

  3. Busque mod_rewrite.so y se encontrará con una línea de la siguiente manera: #LoadModule rewrite_module modules/mod_rewrite.so

  4. Descomenta la línea eliminando la marca hash (#).

  5. Guarde el archivo y reinicie el servidor web Apache.

y también si el archivo ya está en la carpeta de testing su código debería verse así:

 RewriteEngine on RewriteRule ^site\.html$ site.php?site_id=$1 

Tengo una solución que funcionó para mí.

 RewriteEngine on RewriteRule ^([^/\.]+)/?$ site.php?site=$1 [L] RewriteRule ^([^/]+)/([^/\.]+)/?$ pages.php?site=$1&pid=$2 [L,QSA] 

Gracias a todos 🙂