skip to Main Content

I have the following URL

www.example.com/index.php?tag= xxx

I want to make it like the following using .htaccess

www.example.com/xxx

I done it with this code:

 Options +FollowSymLinks -MultiViews
    # Turn mod_rewrite on
    RewriteEngine On
    RewriteBase /

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteRule ^(.+?)/?$ /index.php?tag=$1 [L,QSA]

SO if I input this URL:

www.example.com/index.php?tag=1000

it be redirect to:

www.example.com/?tag=1000

if: www.example.com/1000 it works!

So I have dublicate URL and it’s not good for seo.

How can redirect www.example.com/index.php?tag=1000 to www.example.com/1000

2

Answers


  1. How can redirect www.example.com/index.php?tag=1000 to www.example.com/1000

    You can insert this rule just below RewriteBase line:

    RewriteCond %{THE_REQUEST} /(?:index.php)??tag=([^s&]+) [NC]
    RewriteRule ^ /%1? [R=302,L,NE]
    
    Login or Signup to reply.
  2. use this code for
    .htaccess file

    Options +FollowSymLinks -MultiViews
    # Turn mod_rewrite on
    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteRule ^(.+?)/?$ /index.php?key=$1 [L,QSA]
    

    you index.php code will be

    <?php 
    echo $_REQUEST['key'];  
    ?>
    

    then call
    http://sitename.com/1000

    output will be :1000

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search