skip to Main Content

I got a website that using osCommerce which all the page can be access directly with http://www.example.com/pagename.php, but now I would like to tweak the htaccess file so that it can supports http://www.example.com/username and then redirecting to http://www.example.com/account.php?id=username, while other pages still can be access using the same old way.

It means that if the htaccess detect that the URL didn’t have any extension, then it will be redirecting to http://www.example.com/account.php?id=username.

Thank you!

2

Answers


  1. You can use this code to remove php extension from URL:

    Options +FollowSymLinks -MultiViews
    # Turn mod_rewrite on
    RewriteEngine On
    RewriteBase /
    
    ## hide .php extension snippet
    
    # This will redirect you from http://www.example.com/username.php to 
    # http://www.example.com/username externally                                                          
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,}s([^.]+).php [NC]
    RewriteRule ^ %1 [R,L]
    
    # This will redirect you from http://www.example.com/username to 
    # http://www.example.com/username internally   
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule ^(.*?)/?$ $1.php [L]
    
    Login or Signup to reply.
  2. You just need one rule:

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^/.]+)/?$ /account.php?id=$1 [L,QSA]
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search