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.