Apache .htaccess how to tips and tricks for redirecting from olddomain.com to newdomain.com with and without query string parameters.
olddomain.com/page-one/ or
olddomain.com/page-two.html or
olddomian.com/page-three.php or
olddomian.com/product.php?id=12 or
olddomian.com/product.php?id=12&color=red or
Any type of url.
Here is how you can set up command on .htaccess file to redirect your old domain with exact url paramaters. That is redirect to the exact page you want by rewriting the domain but keeping the remainder of the path including the url query string intact.
Options +FollowSymLinks RewriteEngine On RewriteRule ^(.*) http://nepali-calendar.com%{REQUEST_URI} [R=301,NC]
Options +FollowSymLinks’ and ‘RewriteEngine On’ must be there when rewriting urls.
The rewriterule will take all requests and point to your new domain and keep whatever directories, file name and query string is in your old links.
If you want to redirect everything after sub directory like www.olddomain.com/time/ to newdomain.com with parameter and query intact here is the example.
Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_URI} ^/subdirname/(.*)$ RewriteRule ^(.*) http://nepali-calendar.com/%1 [R=302,NC]
If you wan to redirect everything after filename like www.olddomian.com/time.php to newdomain.com with parameter and query intact here is the example.
Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_URI} ^/time.php(.*)$ RewriteRule ^(.*) http://nepali-calendar.com/%1 [R=302,NC]
If you wan to redirect everything like olddomain.com/time.php or olddomain.com/subdirname or just olddomain.com to newdomain.com/time/ with parameter and quary intact here is the example.
Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_URI} ^/time.php(.*)$ RewriteRule ^(.*) http://nepali-calendar.com/time/%1 [R=302,NC]
The condition that will detect your old domain sub-directory name or filename and extract everything after it and then append that part to the path of your new domain.
The RewriteCond will return everything after the subdirname or filename in the url as the %1 variable. You then place this to the end of your new domain as (http://nepali-calendar.com/%1). Now it will seamlessly redirect whenever it encounter old url which you setup for redirect to new domain with parameters.
Thats it. Its easy but still its dedicate to do with live and stablished website.
Before you processed I suggest to go through some .htaccess tutorial here.
Here are the experiment I have done for above redirect with parameters from www.ashesh.com.np/linknepali-time.php to nepali-calendar.com/time/
Experiment
https://www.ashesh.com.np/linknepali-time.php redirect to http://nepali-calendar.com/time/linknepali-time.php
https://www.ashesh.com.np/linknepali-time.php?time_only=no&font_color=FFFFFF&aj_time=yes&font_size=12&line_brake=0&bikram_sambat=0&nc=1&api=2ac8y373 redirect to http://nepali-calendar.com/time/linknepali-time.php?time_only=no&font_color=FFFFFF&aj_time=yes&font_size=12&line_brake=0&bikram_sambat=0&nc=1&api=2ac8y373
Here is the conclusion from experiment: .htaccess redirect is much faster and consume much less CPU power of your host than php redirect.
Please leave your comment below for help and query.