I was using the following configuration in .htaccess file:
<IfModule mod_rewrite.c>
RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
</IfModule>
It was working fine and the home page was displayed as soon as I entered www.my-site.com.
Then I tried to implement prerender.io in codeigniter using the .htaccess file provided in this link: https://gist.github.com/thoop/8072354. The new .htaccess file is as follows:
<IfModule mod_headers.c>
RequestHeader set X-Prerender-Token "MY_TOKEN"
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
<IfModule mod_proxy_http.c>
RewriteCond %{HTTP_USER_AGENT} baiduspider|facebookexternalhit|twitterbot|rogerbot|linkedinbot|embedly|quora\ link\ preview|showyoubot|outbrain|pinterest|slackbot|vkShare|W3C_Validator [NC,OR]
RewriteCond %{QUERY_STRING} _escaped_fragment_
RewriteRule ^(?!.*?(\.js|\.css|\.xml|\.less|\.png|\.jpg|\.jpeg|\.gif|\.pdf|\.doc|\.txt|\.ico|\.rss|\.zip|\.mp3|\.rar|\.exe|\.wmv|\.doc|\.avi|\.ppt|\.mpg|\.mpeg|\.tif|\.wav|\.mov|\.psd|\.ai|\.xls|\.mp4|\.m4a|\.swf|\.dat|\.dmg|\.iso|\.flv|\.m4v|\.torrent|\.ttf|\.woff))(.*) http://service.prerender.io/http://www.my-site.com/$2 [P,L]
</IfModule>
</IfModule>
I also tried the comment of @benceg just below the post but this also did not work:
RewriteRule ^(?!.*?(\.js|\.css|\.xml|\.less|\.png|\.jpg|\.jpeg|\.gif|\.pdf|\.doc|\.txt|\.ico|\.rss|\.zip|\.mp3|\.rar|\.exe|\.wmv|\.doc|\.avi|\.ppt|\.mpg|\.mpeg|\.tif|\.wav|\.mov|\.psd|\.ai|\.xls|\.mp4|\.m4a|\.swf|\.dat|\.dmg|\.iso|\.flv|\.m4v|\.torrent))(index\.php)?(.*) http://service.prerender.io/%{REQUEST_SCHEME}://%{HTTP_HOST}/$3 [P,L]
The above .htaccess file did not work, and worse yet, when I replaced my previous (the one mentioned at the beginning) fully working .htaccess file back, it was also not working.
When I entered www.my-site.com, it showed me “Website under construction”.
Then I tried www.my-site.com/mycontroller and, to my surprise, my home page was being shown. This clearly indicates that my .htaccess file (which was previously fully working) is now “partially” working.
But again when I tried www.my-site.com, it showed “Website under construction”.
Some codeigniter configurations that I currently have:
$config['base_url'] = 'http://www.my-site.com/';
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';
$route['default_controller'] = 'mycontroller';
I am using Bluehost Shared Hosting service and I know they support mod-rewrite.
I do not want prerender.io anymore. What did I enable or disable while trying the new (prerender.io version) .htaccess? What can I do to get my fully working "previous state" back?
I tried to search the net for similar issues but did not find anything specific to my problem.
Update:
I tried using the first (previously working) .htaccess file on local lampp server and it is working as usual but it is still not working on Bluehost server.
Update 2:
An interesting finding I made today. When I am checking my site's (address: northernschoolofmusic.com.cp-in-13.webhostbox.net) speed on Google, the page is being rendered correctly. But when I am accessing the above mentioned link in a browser I am instantly redirected to http://northernschoolofmusic.com.cp-in-13.webhostbox.net/cgi-sys/defaultwebpage.cgi .
The problem was finally the internet connexion. The Internet Provider may have saved the DNS incorrectly and redirected to a wrong cached page. Changing the browser or the connexion provider was the solution !