<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: &#8216;No input file specified&#8217; problem</title>
	<atom:link href="http://www.tyssendesign.com.au/articles/cms/expression-engine/no-input-file-specified-problem/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tyssendesign.com.au/articles/cms/expression-engine/no-input-file-specified-problem/</link>
	<description>Web design &#38; development and print design services located in The Gap, Brisbane</description>
	<lastBuildDate>Mon, 26 Dec 2011 10:43:37 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Dave</title>
		<link>http://www.tyssendesign.com.au/articles/cms/expression-engine/no-input-file-specified-problem/comment-page-1/#comment-3300</link>
		<dc:creator>Dave</dc:creator>
		<pubDate>Wed, 07 Dec 2011 04:56:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.tyssendesign.com.au/articles/php/expression-engine/no-input-file-specified-problem/#comment-3300</guid>
		<description>Worked perfectly for me too. Thanks a lot for the post.</description>
		<content:encoded><![CDATA[<p>Worked perfectly for me too. Thanks a lot for the post.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Faulds</title>
		<link>http://www.tyssendesign.com.au/articles/cms/expression-engine/no-input-file-specified-problem/comment-page-1/#comment-2812</link>
		<dc:creator>John Faulds</dc:creator>
		<pubDate>Sun, 20 Mar 2011 00:15:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.tyssendesign.com.au/articles/php/expression-engine/no-input-file-specified-problem/#comment-2812</guid>
		<description>Thanks Ty. If the situation ever comes up again, I&#039;ll be sure to try your suggestion out. :)</description>
		<content:encoded><![CDATA[<p>Thanks Ty. If the situation ever comes up again, I&#8217;ll be sure to try your suggestion out. <img src='http://www.tyssendesign.com.au/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ty Fujimura</title>
		<link>http://www.tyssendesign.com.au/articles/cms/expression-engine/no-input-file-specified-problem/comment-page-1/#comment-2811</link>
		<dc:creator>Ty Fujimura</dc:creator>
		<pubDate>Sat, 19 Mar 2011 22:01:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.tyssendesign.com.au/articles/php/expression-engine/no-input-file-specified-problem/#comment-2811</guid>
		<description>I forgot a trailing slash after:

&lt;code&gt;
 RewriteCond %{REQUEST_URI} !^/(old_url&#124;older_url/old_page)/$
&lt;/code&gt;

Note that this trailing slash is only required if you&#039;re rewriting your urls in htaccess to include them. If you are removing them in htaccess, remove the end slash. If you&#039;re not touching them in htaccess, don&#039;t use the $ at the end (but only if you don&#039;t mind losing all directories under the directories you&#039;re skipping in this rewritecond)</description>
		<content:encoded><![CDATA[<p>I forgot a trailing slash after:</p>
<p><code><br />
 RewriteCond %{REQUEST_URI} !^/(old_url|older_url/old_page)/$<br />
</code></p>
<p>Note that this trailing slash is only required if you&#8217;re rewriting your urls in htaccess to include them. If you are removing them in htaccess, remove the end slash. If you&#8217;re not touching them in htaccess, don&#8217;t use the $ at the end (but only if you don&#8217;t mind losing all directories under the directories you&#8217;re skipping in this rewritecond)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ty Fujimura</title>
		<link>http://www.tyssendesign.com.au/articles/cms/expression-engine/no-input-file-specified-problem/comment-page-1/#comment-2810</link>
		<dc:creator>Ty Fujimura</dc:creator>
		<pubDate>Sat, 19 Mar 2011 21:53:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.tyssendesign.com.au/articles/php/expression-engine/no-input-file-specified-problem/#comment-2810</guid>
		<description>@steve @john

I had the same issues and came up with a pretty good fix that allows me to use both the include method for removing htaccess, the ? fix after index.php, and normal 301 redirects.

First it&#039;s worth noting that changing to CGI instead of FastCGI works perfectly. It seems that only FastCGI requires the ? to trigger queries. But I don&#039;t want to lose the performance boost of FastCGI.

Basically, it seems that the 301s only run after all the rewriterules (regardless of placement within htaccess. So you can&#039;t 301 before the rewriterule runs. And if the rewriterule runs prior to the 301, the index.php? gets carried along and leaves that ? as a fragment in the url.

So in order to 301 without having the index.php? added, you can simply exclude those urls you want to 301 from the main rewriterule, with a custom rewritecond.

My include method section looked like this:

&lt;code&gt;
# Exclude paths with an extension
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5})$
# Exclude bad file paths
RewriteCond %{REQUEST_FILENAME} !-f
# Include anything starting in these segments
RewriteCond %{REQUEST_URI} ^/(&lt;b&gt;Every possible segment_1 goes here, pipe-delimited&lt;/b&gt;&#124;P[0-9]{2,8}) [NC]
# Rewrite the url with the index.php?
RewriteRule ^(.*)$ /index.php?/$1/ [L]
&lt;/code&gt;

I added a line at the beginning like this:
&lt;code&gt;
RewriteCond %{REQUEST_URI} !^/(old_url&#124;older_url/old_page)$
&lt;code&gt;

Then elsewhere in htaccess:
&lt;code&gt;
redirect 301 /old_url/ http://domain.com/new_url/
redirect 301 /older_url/old_page/ http://domain.com/another_url/
&lt;/code&gt;

So basically you allow the old paths to pass through htaccess unscathed (aside from adding or removing www, adding or removing a trailing slash, whatever). Then the client hits the 301 and goes to the new url, which also hits htacess but this time gets the index.php?

Hope this helps!</description>
		<content:encoded><![CDATA[<p>@steve @john</p>
<p>I had the same issues and came up with a pretty good fix that allows me to use both the include method for removing htaccess, the ? fix after index.php, and normal 301 redirects.</p>
<p>First it&#8217;s worth noting that changing to CGI instead of FastCGI works perfectly. It seems that only FastCGI requires the ? to trigger queries. But I don&#8217;t want to lose the performance boost of FastCGI.</p>
<p>Basically, it seems that the 301s only run after all the rewriterules (regardless of placement within htaccess. So you can&#8217;t 301 before the rewriterule runs. And if the rewriterule runs prior to the 301, the index.php? gets carried along and leaves that ? as a fragment in the url.</p>
<p>So in order to 301 without having the index.php? added, you can simply exclude those urls you want to 301 from the main rewriterule, with a custom rewritecond.</p>
<p>My include method section looked like this:</p>
<p><code><br />
# Exclude paths with an extension<br />
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5})$<br />
# Exclude bad file paths<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
# Include anything starting in these segments<br />
RewriteCond %{REQUEST_URI} ^/(<b>Every possible segment_1 goes here, pipe-delimited</b>|P[0-9]{2,8}) [NC]<br />
# Rewrite the url with the index.php?<br />
RewriteRule ^(.*)$ /index.php?/$1/ [L]<br />
</code></p>
<p>I added a line at the beginning like this:<br />
<code><br />
RewriteCond %{REQUEST_URI} !^/(old_url|older_url/old_page)$<br />
</code><code></p>
<p>Then elsewhere in htaccess:<br />
</code><code><br />
redirect 301 /old_url/ <a href="http://domain.com/new_url/" rel="nofollow">http://domain.com/new_url/</a><br />
redirect 301 /older_url/old_page/ <a href="http://domain.com/another_url/" rel="nofollow">http://domain.com/another_url/</a><br />
</code></p>
<p>So basically you allow the old paths to pass through htaccess unscathed (aside from adding or removing www, adding or removing a trailing slash, whatever). Then the client hits the 301 and goes to the new url, which also hits htacess but this time gets the index.php?</p>
<p>Hope this helps!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andy</title>
		<link>http://www.tyssendesign.com.au/articles/cms/expression-engine/no-input-file-specified-problem/comment-page-1/#comment-2727</link>
		<dc:creator>Andy</dc:creator>
		<pubDate>Thu, 16 Dec 2010 17:59:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.tyssendesign.com.au/articles/php/expression-engine/no-input-file-specified-problem/#comment-2727</guid>
		<description>Nice one mate, this is why sharing your troubles is always good for everyone.

Fingers crossed it will be simple from here on... (yeh right)</description>
		<content:encoded><![CDATA[<p>Nice one mate, this is why sharing your troubles is always good for everyone.</p>
<p>Fingers crossed it will be simple from here on&#8230; (yeh right)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Faulds</title>
		<link>http://www.tyssendesign.com.au/articles/cms/expression-engine/no-input-file-specified-problem/comment-page-1/#comment-2711</link>
		<dc:creator>John Faulds</dc:creator>
		<pubDate>Wed, 17 Nov 2010 23:05:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.tyssendesign.com.au/articles/php/expression-engine/no-input-file-specified-problem/#comment-2711</guid>
		<description>Steve, writing .htaccess isn&#039;t my strong suit either but could you do RedirectMatch 301 /bar/ http://www.domain.com/index.php/foo/ and then move that above the rules that remove the index.php so that the redirect then gets included in the rewrite that follows?</description>
		<content:encoded><![CDATA[<p>Steve, writing .htaccess isn&#8217;t my strong suit either but could you do RedirectMatch 301 /bar/ <a href="http://www.domain.com/index.php/foo/" rel="nofollow">http://www.domain.com/index.php/foo/</a> and then move that above the rules that remove the index.php so that the redirect then gets included in the rewrite that follows?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: steve</title>
		<link>http://www.tyssendesign.com.au/articles/cms/expression-engine/no-input-file-specified-problem/comment-page-1/#comment-2710</link>
		<dc:creator>steve</dc:creator>
		<pubDate>Wed, 17 Nov 2010 22:57:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.tyssendesign.com.au/articles/php/expression-engine/no-input-file-specified-problem/#comment-2710</guid>
		<description>I also ran into this issue, while using EE&#039;s &quot;include method&quot; to remove the index.php. So adding the ? into the RewriteRule rule worked. But now I&#039;m unable to correctly implement redirects. e.g.
RedirectMatch 301 /bar/ http://www.domain.com/foo/

results in a redirect to
http://www.domain.com/foo/?/bar/

so far no luck figuring out why and how to fix it.</description>
		<content:encoded><![CDATA[<p>I also ran into this issue, while using EE&#8217;s &#8220;include method&#8221; to remove the index.php. So adding the ? into the RewriteRule rule worked. But now I&#8217;m unable to correctly implement redirects. e.g.<br />
RedirectMatch 301 /bar/ <a href="http://www.domain.com/foo/" rel="nofollow">http://www.domain.com/foo/</a></p>
<p>results in a redirect to<br />
<a href="http://www.domain.com/foo/?/bar/" rel="nofollow">http://www.domain.com/foo/?/bar/</a></p>
<p>so far no luck figuring out why and how to fix it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob Hodges</title>
		<link>http://www.tyssendesign.com.au/articles/cms/expression-engine/no-input-file-specified-problem/comment-page-1/#comment-2681</link>
		<dc:creator>Rob Hodges</dc:creator>
		<pubDate>Sun, 19 Sep 2010 21:30:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.tyssendesign.com.au/articles/php/expression-engine/no-input-file-specified-problem/#comment-2681</guid>
		<description>+1 thankyou! :D</description>
		<content:encoded><![CDATA[<p>+1 thankyou! <img src='http://www.tyssendesign.com.au/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rajkumar</title>
		<link>http://www.tyssendesign.com.au/articles/cms/expression-engine/no-input-file-specified-problem/comment-page-1/#comment-2501</link>
		<dc:creator>Rajkumar</dc:creator>
		<pubDate>Tue, 02 Feb 2010 10:36:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.tyssendesign.com.au/articles/php/expression-engine/no-input-file-specified-problem/#comment-2501</guid>
		<description>Thanks a lot
solved my problem</description>
		<content:encoded><![CDATA[<p>Thanks a lot<br />
solved my problem</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pedro</title>
		<link>http://www.tyssendesign.com.au/articles/cms/expression-engine/no-input-file-specified-problem/comment-page-1/#comment-2232</link>
		<dc:creator>Pedro</dc:creator>
		<pubDate>Thu, 06 Aug 2009 22:28:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.tyssendesign.com.au/articles/php/expression-engine/no-input-file-specified-problem/#comment-2232</guid>
		<description>Thanks for this, much appreciated!</description>
		<content:encoded><![CDATA[<p>Thanks for this, much appreciated!</p>
]]></content:encoded>
	</item>
</channel>
</rss>

