URL RewriteRule .htaccess pour index.php les paramètres de la requête

Exemple d'URL:-

  • www.domain.com/index.php?bob
  • www.domain.com/index.php?jane
  • www.domain.com/index.php?fred

Besoin de réécrire comme:-

  • www.domain.com/bob
  • www.domain.com/jane
  • www.domain.com/fred

Ont essayé avec de nombreuses variations de maintenant, mais le plus proche que je peux obtenir à l'est:-

  • www.domain.com/?bob
  • www.domain.com/?jane
  • www.domain.com/?fred

Ci-dessous .htaccess réalise ce...

RewriteRule ^(.*)$ index.php?$1 [L,QSA]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index\.php [NC]
RewriteRule ^ %1 [R=301,L]

Svp quelqu'un pourrait-il préciser ce que je dois modifier pour ben l' ? (point d'interrogation) dans l'URL?

Modifier

Viens de remarquer que depuis l'application de la réponse donnée par anubhava ci-dessous que robots.txt par exemple ne permet pas de résoudre à l' .fichier txt, mais est simplement l'affichage de la page d'accueil.

.htaccess ci-dessous:-

RewriteEngine On

RewriteBase /
RewriteCond %{THE_REQUEST} \s/+index\.php\?([^\s&]+) [NC]
RewriteRule ^ %1? [R=301,L]

RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

#pos1
RewriteRule ^([^/]+)/?$ index.php?$1 [L,QSA] <--

RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

#pos2

Si j'ajoute <-- ligne dans pos1, l'robots.txt URL renvoie une erreur 404 page not found.

Si j'ajoute <-- ligne dans pos2=, l'robots.txt l'URL est simplement l'affichage de la page d'accueil.

Edit2

En attendant, j'ai exclu robots.txt de réécrit par adjonction, sous Rewrite Base /:-

RewriteRule ^robots.txt - [L]

OriginalL'auteur zigojacko | 2014-02-18