views:

26

answers:

1

I have htaccess file :

RewriteEngine On

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^user/([a-z0-9-\s]+)?/$ user/?u=$1 [NC]
RewriteCond %{REQUEST_URI} ^user/([a-z0-9-\s]+)?/$ [NC]

RewriteRule ^.*$ - 

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php [L]

the idea is like this , I made a page 'user' ,in page template I read the $_GET value and use it to show some user stats depending on login, earlier I used /user?u=login but I need to use /user/login, right now it works strange , if I pass ID or any number ( i.e. /user/26/ ) it renders me the page template ,the GET data are there , but if I try to put a letter ( or string i.e. /user/haribo/ ) I'm sent to 404 template with the GET data , what is wrong ??

A: 

Try this, maybe it can help. If you will see the page you want, try to change the regexp to [a-z0-9-\s]

RewriteEngine On

RewriteBase / RewriteRule ^user/(.+)/$ user/?u=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php [L]

martin.malek
did that before, not working
red777