1) Vous n'avez pas besoin de la ligne RewriteCond. Il est destiné à déterminer quand votre règle s'applique, et non quelle partie de la demande.
[EDIT] SAUF, votre RewriteCond est là pour que cette règle s'applique lorsque la chaîne de requête est vide. Si c'est ça, alors il n'y a rien de mal à ça.
2) Je pense que vous devez inclure la première/dans la règle, comme ceci:
RewriteRule ^/([^/]+)$ /somepage.php?id=$1 [L]
[EDIT] Les deux votre version et la mienne correspondra à votre fichier index.php, ce qui pourrait expliquer pourquoi votre le site est cassé en ce moment. Si vous ne voulez pas correspondre les fichiers php, vous pouvez ajouter une autre condition comme
RewriteCond ${REQUEST_URI} !^.*\.php$
3) Pour une règle de ce genre, il pourrait être utile d'ajouter /?
à la fin (en dehors des parens, avant le $), au cas où ils recherchent foot.com/xxx/, ce qui est logique si vous voulez qu'il ressemble à un répertoire.
À quoi correspond le '=' à la fin de la demande entrante? – grossvogel
@grossvogel: Pour nous embrouiller encore plus ;-) – Josh
@Matias: Vous pouvez éditer votre question pour faire des mises à jour. Je l'ai fait pour vous cette fois-ci cependant :) – Dolph