The trouble arose this morning when a client informed me that her site, running on ExpressionEngine v2.4, was getting a 404 error when a third party site was trying to feature a post. The site in question was trying to pull the EE url into an iframe via a query string. Query strings typically look something like this:
I spent a lot of time poking around looking for an .htaccess trick to get the server to accept the query string but it turned out I was barking up the wrong tree. It was actually quite an easy fix once I found it in the ExpressionEngine forums.
Make sure you’re using the recommended .htaccess code from the ExpressionEngine User Guide, only if you’re trying to remove index.php from your URLs, which is highly recommended.
The second and most important step lies in the URI protocol section of the EE config file which can be found in
system > expressionengine > config > config.php
You’ll need to change:
$config['uri_protocol'] = 'AUTO';
$config['uri_protocol'] = 'PATH_INFO';