Supprimer le paramètre get dans l’URL avec .htaccess

Mes URL ressemblent à ceci: www.example.com/?content=somefile.php .

Le pattern est: toujours www.example.com/?content= , qu’un fichier comme somefile.php et parfois d’autres parameters.

Existe-t-il un moyen d’utiliser www.example.com/somefile.php au lieu de www.example.com/?content=somefile.php ?

J’ai déjà essayé ce qui suit:

 RewriteEngine On RewriteRule ^([^/]*)$ /?content=$1 [L] 

mais j’obtiens le message d’erreur suivant:

Erreur Interne du Serveur

Le serveur a rencontré une erreur interne ou une configuration incorrecte et n’a pas pu terminer votre demande.

Veuillez contacter l’administrateur du serveur, [pas d’adresse indiquée] et l’informer de l’heure à laquelle l’erreur est survenue et de tout ce qui a pu être à l’origine de l’erreur.

Plus d’informations sur cette erreur peuvent être disponibles dans le journal des erreurs du serveur.

Apache / 2.2.14 (Ubuntu) Server sur www.example.com Port 80

Quelqu’un peut-il m’aider?

Vous pouvez utiliser cette règle pour éviter une erreur de serveur interne:

 RewriteEngine On # if request is not for image/css/js files RewriteCond %{REQUEST_URI} !\.(?:jpe?g|gif|bmp|png|ico|tiff|css|js)$ [NC] # skip if we already have ?content= in URL RewriteCond %{QUERY_STRING} !(^|&)content= [NC] # rewrite to ?content= RewriteRule ^([^/]+)/?$ ?content=$1 [L,QSA] 

Essayez d’append

 RewriteEngine On RewriteCond %{QUERY_STRING} !(^|&)content= [NC] #taken from anubhava's code RewriteRule ^([^/]*)$ /?content=$1 [L] 

Et vous ne devriez pas lire directement la valeur du contenu , cela pourrait être dangereux.