<?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: CakePHP and IIS and ISAPI Rewrite &#8211; Demystified!</title>
	<atom:link href="http://blog.localkinegrinds.com/2006/07/28/cakephp-and-iis-solved/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.localkinegrinds.com/2006/07/28/cakephp-and-iis-solved/</link>
	<description>Everything you&#039;ve ever thought, but never had the balls to say.</description>
	<lastBuildDate>Tue, 22 Nov 2011 07:17:58 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Frank</title>
		<link>http://blog.localkinegrinds.com/2006/07/28/cakephp-and-iis-solved/comment-page-1/#comment-29984</link>
		<dc:creator>Frank</dc:creator>
		<pubDate>Tue, 24 Mar 2009 03:28:36 +0000</pubDate>
		<guid isPermaLink="false">http://blog.localkinegrinds.com/2006/07/28/cakephp-and-iis-solved/#comment-29984</guid>
		<description>Gil, if you need a guide to getting everything working in iis check out:

thefinalsayontech.blogspot.com/2009/02/cakephp-on-iis-isapi-with-modrewrite.html

Thanks for this guide ryan. It&#039;s great.</description>
		<content:encoded><![CDATA[<p>Gil, if you need a guide to getting everything working in iis check out:</p>
<p>thefinalsayontech.blogspot.com/2009/02/cakephp-on-iis-isapi-with-modrewrite.html</p>
<p>Thanks for this guide ryan. It&#8217;s great.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gil</title>
		<link>http://blog.localkinegrinds.com/2006/07/28/cakephp-and-iis-solved/comment-page-1/#comment-15300</link>
		<dc:creator>Gil</dc:creator>
		<pubDate>Fri, 21 Dec 2007 09:58:35 +0000</pubDate>
		<guid isPermaLink="false">http://blog.localkinegrinds.com/2006/07/28/cakephp-and-iis-solved/#comment-15300</guid>
		<description>Hello, i&#039;m installing CakePHP on an iis server, i work with pretty URL...
My index page still working, but all link make me the message &quot;No input file specified&quot;...
Someone could help me please, it&#039;s for a projetc and a have to install this..

Tank you

Sorry for my english, i&#039;m french ;)</description>
		<content:encoded><![CDATA[<p>Hello, i&#8217;m installing CakePHP on an iis server, i work with pretty URL&#8230;<br />
My index page still working, but all link make me the message &#8220;No input file specified&#8221;&#8230;<br />
Someone could help me please, it&#8217;s for a projetc and a have to install this..</p>
<p>Tank you</p>
<p>Sorry for my english, i&#8217;m french <img src='http://blog.localkinegrinds.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ryankanno</title>
		<link>http://blog.localkinegrinds.com/2006/07/28/cakephp-and-iis-solved/comment-page-1/#comment-11691</link>
		<dc:creator>ryankanno</dc:creator>
		<pubDate>Sat, 17 Nov 2007 01:13:28 +0000</pubDate>
		<guid isPermaLink="false">http://blog.localkinegrinds.com/2006/07/28/cakephp-and-iis-solved/#comment-11691</guid>
		<description>@James:  Totally neat.  I&#039;ll most definitely try it out on my Windows box.  I&#039;ve updated my post to reflect your very helpful insight. :)</description>
		<content:encoded><![CDATA[<p>@James:  Totally neat.  I&#8217;ll most definitely try it out on my Windows box.  I&#8217;ve updated my post to reflect your very helpful insight. <img src='http://blog.localkinegrinds.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Revillini</title>
		<link>http://blog.localkinegrinds.com/2006/07/28/cakephp-and-iis-solved/comment-page-1/#comment-11620</link>
		<dc:creator>James Revillini</dc:creator>
		<pubDate>Fri, 16 Nov 2007 16:08:59 +0000</pubDate>
		<guid isPermaLink="false">http://blog.localkinegrinds.com/2006/07/28/cakephp-and-iis-solved/#comment-11620</guid>
		<description>One more trick: this one does NOT require the trailing slash to be present on urls to controllers.  This one actually checks for the existance of the requested file in webroot, then assumes anything not existing in webroot must be a call to a controller.  Again, this is for the &lt;em&gt;development&lt;/em&gt; setup that I proposed, not Ryan&#039;s setup which is more a production setup.

Overwrite any existing cake rules in {ISAPI_Rewrite Dir}\httpd.conf with:
&lt;code&gt;
# oh yeah, we want it
RewriteEngine On

#cake

#This rule performs the ISAPI Rewrite rules
	# catch webroot physical file urls
	RewriteCond %{DOCUMENT_ROOT}/cake/$1/webroot/$2 -f
	RewriteRule ^/cake/([^/]*)/(.*)$ /cake/$1/webroot/$2 [L]
	
	# catch controller/action urls
	RewriteRule ^/cake/([^/]*)/(.*)$ /cake/$1/webroot/index.php?url=/$2 [L]
&lt;/code&gt;

I&#039;ve heard that the %{DOCUMENT_ROOT} variable may not be populated on certain setups.  In that case, you&#039;d want to hardcode the path to the cake root directory there.</description>
		<content:encoded><![CDATA[<p>One more trick: this one does NOT require the trailing slash to be present on urls to controllers.  This one actually checks for the existance of the requested file in webroot, then assumes anything not existing in webroot must be a call to a controller.  Again, this is for the <em>development</em> setup that I proposed, not Ryan&#8217;s setup which is more a production setup.</p>
<p>Overwrite any existing cake rules in {ISAPI_Rewrite Dir}\httpd.conf with:<br />
<code><br />
# oh yeah, we want it<br />
RewriteEngine On</p>
<p>#cake</p>
<p>#This rule performs the ISAPI Rewrite rules<br />
	# catch webroot physical file urls<br />
	RewriteCond %{DOCUMENT_ROOT}/cake/$1/webroot/$2 -f<br />
	RewriteRule ^/cake/([^/]*)/(.*)$ /cake/$1/webroot/$2 [L]</p>
<p>	# catch controller/action urls<br />
	RewriteRule ^/cake/([^/]*)/(.*)$ /cake/$1/webroot/index.php?url=/$2 [L]<br />
</code></p>
<p>I&#8217;ve heard that the %{DOCUMENT_ROOT} variable may not be populated on certain setups.  In that case, you&#8217;d want to hardcode the path to the cake root directory there.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ryankanno</title>
		<link>http://blog.localkinegrinds.com/2006/07/28/cakephp-and-iis-solved/comment-page-1/#comment-10169</link>
		<dc:creator>ryankanno</dc:creator>
		<pubDate>Thu, 08 Nov 2007 05:35:31 +0000</pubDate>
		<guid isPermaLink="false">http://blog.localkinegrinds.com/2006/07/28/cakephp-and-iis-solved/#comment-10169</guid>
		<description>Wow, sorry I didn&#039;t respond to this earlier.  Thanks for the reply James!  You&#039;re totally right.  I didn&#039;t modify any of the Cake installation files, but touched only the ISAPI rewrite conf file (which @ the time was named httpd.ini).

I haven&#039;t looked at Cake in a few months as I&#039;ve been preoccupied with writing for the Django community and investigating Rails.  I have a full blown recipe application written in Cake which I&#039;ll have to upgrade soon - so I&#039;ll get back into it once I go through the upgrade process.</description>
		<content:encoded><![CDATA[<p>Wow, sorry I didn&#8217;t respond to this earlier.  Thanks for the reply James!  You&#8217;re totally right.  I didn&#8217;t modify any of the Cake installation files, but touched only the ISAPI rewrite conf file (which @ the time was named httpd.ini).</p>
<p>I haven&#8217;t looked at Cake in a few months as I&#8217;ve been preoccupied with writing for the Django community and investigating Rails.  I have a full blown recipe application written in Cake which I&#8217;ll have to upgrade soon &#8211; so I&#8217;ll get back into it once I go through the upgrade process.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Revillini</title>
		<link>http://blog.localkinegrinds.com/2006/07/28/cakephp-and-iis-solved/comment-page-1/#comment-10168</link>
		<dc:creator>James Revillini</dc:creator>
		<pubDate>Thu, 08 Nov 2007 05:05:02 +0000</pubDate>
		<guid isPermaLink="false">http://blog.localkinegrinds.com/2006/07/28/cakephp-and-iis-solved/#comment-10168</guid>
		<description>Here&#039;s another setup which appears to work well if you want to go with the development setup in the &lt;a href=&quot;http://manual.cakephp.org/chapter/installing&quot; rel=&quot;nofollow&quot;&gt;CakePHP manual&lt;/a&gt;.  This setup allows you to hit a URL like http://domain.com/cake/appname/controller/action/param1/param2.

OK, so you have your regular website root directory set up in IIS.  Off of the main website, set up a virtual directory called &#039;cake&#039; which points to your main cake directory (e.g. c:\cake).  Add the following to {ISAPI_Rewrite Dir}\httpd.conf:
&lt;code&gt;
#This rule performs the ISAPI Rewrite rules
	# catch controller/action urls
	RewriteRule ^/cake/([^/]*)/(.*)/$ /cake/$1/webroot/index.php?url=/$2 [L]

	# catch webroot physical file urls
	RewriteRule ^/cake/([^/]*)/(.*)$ /cake/$1/webroot/$2 [L]
&lt;/code&gt;
Now hack your C:\cake\appname\webroot\index.php file and define the WEBROOT as &#039;/cake/appname&#039;.  For me, it was around line 62:
&lt;code&gt;
	if (!defined(&#039;WEBROOT_DIR&#039;)) {
		 define(&#039;WEBROOT_DIR&#039;, &#039;cake/appname&#039;);  //used to be define(&#039;WEBROOT_DIR&#039;, basename(dirname(__FILE__)));
	}
&lt;/code&gt;

The benefit here is that this enables you to quickly develop in multiple apps off of the cake directory which all use the same cake library without having to recode the httpd.conf file.</description>
		<content:encoded><![CDATA[<p>Here&#8217;s another setup which appears to work well if you want to go with the development setup in the <a href="http://manual.cakephp.org/chapter/installing" rel="nofollow">CakePHP manual</a>.  This setup allows you to hit a URL like <a href="http://domain.com/cake/appname/controller/action/param1/param2" rel="nofollow">http://domain.com/cake/appname/controller/action/param1/param2</a>.</p>
<p>OK, so you have your regular website root directory set up in IIS.  Off of the main website, set up a virtual directory called &#8216;cake&#8217; which points to your main cake directory (e.g. c:\cake).  Add the following to {ISAPI_Rewrite Dir}\httpd.conf:<br />
<code><br />
#This rule performs the ISAPI Rewrite rules<br />
	# catch controller/action urls<br />
	RewriteRule ^/cake/([^/]*)/(.*)/$ /cake/$1/webroot/index.php?url=/$2 [L]</p>
<p>	# catch webroot physical file urls<br />
	RewriteRule ^/cake/([^/]*)/(.*)$ /cake/$1/webroot/$2 [L]<br />
</code><br />
Now hack your C:\cake\appname\webroot\index.php file and define the WEBROOT as &#8216;/cake/appname&#8217;.  For me, it was around line 62:<br />
<code><br />
	if (!defined('WEBROOT_DIR')) {<br />
		 define('WEBROOT_DIR', 'cake/appname');  //used to be define('WEBROOT_DIR', basename(dirname(__FILE__)));<br />
	}<br />
</code></p>
<p>The benefit here is that this enables you to quickly develop in multiple apps off of the cake directory which all use the same cake library without having to recode the httpd.conf file.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Revillini</title>
		<link>http://blog.localkinegrinds.com/2006/07/28/cakephp-and-iis-solved/comment-page-1/#comment-10162</link>
		<dc:creator>James Revillini</dc:creator>
		<pubDate>Thu, 08 Nov 2007 03:58:37 +0000</pubDate>
		<guid isPermaLink="false">http://blog.localkinegrinds.com/2006/07/28/cakephp-and-iis-solved/#comment-10162</guid>
		<description>Rob, I think he left the .htaccess files alone, since the free Isapi_Rewrite thing doesn&#039;t do per-directory .htaccess.  Also, he says he modified httpd.ini, which, in the latest version of ISAPI_Rewrite, is httpd.conf in the installation folder.</description>
		<content:encoded><![CDATA[<p>Rob, I think he left the .htaccess files alone, since the free Isapi_Rewrite thing doesn&#8217;t do per-directory .htaccess.  Also, he says he modified httpd.ini, which, in the latest version of ISAPI_Rewrite, is httpd.conf in the installation folder.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob</title>
		<link>http://blog.localkinegrinds.com/2006/07/28/cakephp-and-iis-solved/comment-page-1/#comment-4801</link>
		<dc:creator>Rob</dc:creator>
		<pubDate>Wed, 15 Aug 2007 13:42:32 +0000</pubDate>
		<guid isPermaLink="false">http://blog.localkinegrinds.com/2006/07/28/cakephp-and-iis-solved/#comment-4801</guid>
		<description>which .htaccess file did you replace?
A standard Cake install has:
/httpdocs/.htaccess
/httpdocs/app/.htaccess
/httpdocs/app/webroot/.htaccess</description>
		<content:encoded><![CDATA[<p>which .htaccess file did you replace?<br />
A standard Cake install has:<br />
/httpdocs/.htaccess<br />
/httpdocs/app/.htaccess<br />
/httpdocs/app/webroot/.htaccess</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter</title>
		<link>http://blog.localkinegrinds.com/2006/07/28/cakephp-and-iis-solved/comment-page-1/#comment-1508</link>
		<dc:creator>Peter</dc:creator>
		<pubDate>Fri, 16 Feb 2007 12:53:36 +0000</pubDate>
		<guid isPermaLink="false">http://blog.localkinegrinds.com/2006/07/28/cakephp-and-iis-solved/#comment-1508</guid>
		<description>This is a great tutorial for those of us who have to use IIS but want to use the PHP Cake framework, you saved me a lot of heartache! I had been developing a site on Apache but just learned that it was going to be hosted on a Windows server. I thought it wasn&#039;t going to be a problem until I tried configuring ISAPI_Rewrite and kept on getting 404 errors!</description>
		<content:encoded><![CDATA[<p>This is a great tutorial for those of us who have to use IIS but want to use the PHP Cake framework, you saved me a lot of heartache! I had been developing a site on Apache but just learned that it was going to be hosted on a Windows server. I thought it wasn&#8217;t going to be a problem until I tried configuring ISAPI_Rewrite and kept on getting 404 errors!</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Served from: blog.localkinegrinds.com @ 2012-02-07 21:21:25 -->
