2011-07-03 5 views
0

je dois myurl.com/profil/(username).htaccess php Réécrire

un Reécriture problème/authentification/view_profile user = (nom d'utilisateur) En ce moment, mon fichier .htaccess est:

RewriteEngine On 
#Rewrite /view.php?vis=id to /opslag/vis/id 
#RewriteRule ^opslag/vis/(\d+)$ /opslag/view.php?vis=$1 [NC,QSA,L] 

#Rewrite authentication/view_profile.php?user=* to profil/* 
RewriteRule ^profil/(\d+)$ /authentication/view_profile.php?user=$1 [NC,QSA,L] 

#Remove index.php 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/ 
RewriteRule ^(.*)index\.php$ /$1 [R=301,L] 

#Remove /page/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/\.]+)/?$ index.php?page=$1 [L] 

Je suis déjà en utilisant une règle de réécrire un autre, qui est le « #Rewrite view.php vis = id/Opslag/vis/id

en ce moment, le regard de mon URL comme ceci:

<a href='/profil/$_SESSION[username]'>Vis profil</a> 

J'espère que vous voulez m'aider.

Si vous avez besoin d'informations s'il vous plaît me dire ..: o)

+0

Il serait bon de savoir ce qui ne fonctionne pas. Avez-vous une erreur du serveur? – enyo

+0

@Enyo Lorsque je reçois ces paramètres, il dit simplement: Non trouvé L'URL demandée/profil/(nom d'utilisateur) n'a pas été trouvé sur ce serveur. – skolind

Répondre

4

Utilisez plutôt celui-ci:

RewriteRule ^profil/([^/]+)$ /authentication/view_profile.php?user=$1 [NC,QSA,L] 

Votre règle ne peut accepter que les noms d'utilisateur si elles sont composées de chiffres que (\d+). Celui-ci ([^/]+) acceptera tous les caractères (sauf /, qui est un délimiteur de dossier).

P.S. Envisagez de lire ce Introduction to regular expressions and mod_rewrite si vous envisagez d'utiliser régulièrement les règles de réécriture d'URL et de .htaccess.

+0

Merci pour votre aide, et merci pour le lien: o) Je vais vous marquer comme la bonne réponse. – skolind