URL amigable con SEO usando php

Estoy tratando de hacer un sitio web amigable con SEO usando php

En la carpeta jcheck tengo un archivo index.php que toma un parámetro “id” como entrada.

mydomain.com/jcheck/index.php?id=1 works 

¿Cómo puedo hacerlo de la siguiente manera?

 mydomain.com/jcheck/1 

He intentado hacer archivo .htaccess y poner

 RewriteEngine on RewriteCond %{REQUEST_URI} 1/ RewriteRule 1/ http://mydomain.com/jcheck/index.php?id=1 

¿Cómo puedo hacer que funcione?

Básicamente puede hacer esto de 2 maneras:

La ruta .htaccess con mod_rewrite

Agregue un archivo llamado .htaccess en su carpeta raíz y agregue algo como esto:

 RewriteEngine on RewriteRule ^/Some-text-goes-here/([0-9]+)$ /picture.php?id=$1 

Esto le indicará a Apache que habilite mod_rewrite para esta carpeta, y si se le solicita una URL que coincida con la expresión regular, la reescribirá internamente según lo que desee, sin que el usuario final la vea. Fácil, pero inflexible, así que si necesitas más potencia:

La ruta de PHP

En su lugar, ponga lo siguiente en su .htaccess:

 FallbackResource index.php 

Esto le indicará que ejecute index.php para todos los archivos que normalmente no puede encontrar en su sitio. Ahí puede, por ejemplo, por ejemplo:

 $path = ltrim($_SERVER['REQUEST_URI'], '/'); // Trim leading slash(es) $elements = explode('/', $path); // Split path on slashes if(count($elements) == 0) // No path elements means home ShowHomepage(); else switch(array_shift($elements)) // Pop off first item and switch { case 'Some-text-goes-here': ShowPicture($elements); // passes rest of parameters to internal function break; case 'more': ... default: header('HTTP/1.1 404 Not Found'); Show404Error(); } 

Así es como lo hacen los sitios grandes y los sistemas CMS, ya que permite mucha más flexibilidad para analizar URL, configuraciones y URL dependientes de bases de datos, etc. Para un uso esporádico, las reglas de reescritura codificadas en .htaccess funcionarán bien.

***** Copie este contenido de la reescritura de URL con PHP **

En el archivo htaccess en su directorio jcheck, use estas reglas:

 RewriteEngine On RewriteBase /jcheck/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([0-9]+)/?$ index.php?id=$1 [L,QSA] 

Prueba este:

 RewriteRule ^jcheck/([0-9]+)$ jcheck/index.php?id=$1 
 RewriteEngine on RewriteRule ^/jcheck/([0-9]+)$ /jcheck/index.php?id=1 

y mira también aquí te será útil

Coloque el archivo .htaccess dentro de la carpeta jcheck y escriba:

 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-D RewriteRule ^1/?$ index.php?id=1