<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>AgilePHP &#187; QUERY_STRING</title>
	<atom:link href="http://www.agilephp.net/tag/query_string/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.agilephp.net</link>
	<description>开发可以敏捷，人生需要慢慢体味</description>
	<lastBuildDate>Thu, 03 Nov 2011 11:53:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>在Godaddy的主机上配置CodeIgniter</title>
		<link>http://www.agilephp.net/2010/06/godaddy-and-codeigniter/</link>
		<comments>http://www.agilephp.net/2010/06/godaddy-and-codeigniter/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 13:56:16 +0000</pubDate>
		<dc:creator>bbiao</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[Godaddy]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[QUERY_STRING]]></category>
		<category><![CDATA[REQUEST_URI]]></category>
		<category><![CDATA[rewrite]]></category>
		<category><![CDATA[vhs]]></category>

		<guid isPermaLink="false">http://www.agilephp.net/2010/06/%e5%9c%a8godaddy%e7%9a%84%e4%b8%bb%e6%9c%ba%e4%b8%8a%e9%85%8d%e7%bd%aecodeigniter/</guid>
		<description><![CDATA[之前在CodeIgniter上部署过一个小的CodeIgniter的应用，参考了这篇文章，当时顺利的完成了部署运行的任务。主要是因为在Godaddy的虚拟主机上使用rewrite模块产生的问题，原因不知道，只知道一种解决问题的办法。主要的步骤为： 在config.php里修改配置，使用QUERY_STRING的方式来解析URL $config['uri_protocol'] = &#34;QUERY_STRING&#34;; 然后，修改.htaccess文件，使其内容为如下所示： RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php?$1 [L] 这样，某个请求，如http://www.example.com/blog/view/123 ，实际上会被解析成http://www.example.com/index.php?blog/view/123 ，但是，假如我使用的请求必须通过GET方法传参数呢？这种解决方案就不能解决问题了。如http://www.example.com/index.php?blog/view/123?from=1009&#38;author=bbiao ,这个时候就无法通过parse_str($_SERVER['QUERY_STRING'], $_GET);的方法来获得GET的数据了。但是我们可以观察到$_SERVER['REQUEST_URI']里保存了blog/view/123?from=1009&#38;author=bbiao的值，OK，解析一下这个数据就可以了。代码如下： $arr = explode(&#8216;?&#8217;, $_SERVER['REQUEST_URI']); parse_str($arr[1], $_GET); 另外说一句，由于CI里是把$_GET的数据清空的，所以才有了以上的这些说法，CI本身是不推荐使用GET来传递参数的，但有时候又不得不用，比如使用OAuth的时候，别人回调你的接口的时候都是这样传的，你能怎么办呢？事情总有解决办法的，现在我的程序在Godaddy上跑的一切正常。 相关文章 Nexus One 新家 使用Grub4DOS引导Ubuntu 11.04<h3>相关文章</h3>
<ol>
		<li><a href="http://www.agilephp.net/2011/01/nexus-one/" rel="bookmark">Nexus One</a><!-- (3.2)--></li>
		<li><a href="http://www.agilephp.net/2009/05/new-home/" rel="bookmark">新家</a><!-- (2.5)--></li>
		<li><a href="http://www.agilephp.net/2011/05/grub4dos-ubuntu-11-04/" rel="bookmark">使用Grub4DOS引导Ubuntu 11.04</a><!-- (2.4)--></li>
	</ol>
]]></description>
			<content:encoded><![CDATA[<p>之前在CodeIgniter上部署过一个小的CodeIgniter的应用，参考了<a href="http://codeigniter.com/wiki/Godaddy_Installaton_Tips/" target="_blank">这篇</a>文章，当时顺利的完成了部署运行的任务。主要是因为在Godaddy的虚拟主机上使用rewrite模块产生的问题，原因不知道，只知道一种解决问题的办法。主要的步骤为：</p>
<p>在config.php里修改配置，使用QUERY_STRING的方式来解析URL</p>
<p><code>$config['uri_protocol'] = &quot;QUERY_STRING&quot;; </code></p>
<p><code>然后，修改.htaccess文件，使其内容为如下所示：</code></p>
<p><code>RewriteEngine on     <br />RewriteCond %{REQUEST_FILENAME} !-f      <br />RewriteCond %{REQUEST_FILENAME} !-d      <br />RewriteRule ^(.*)$ /index.php<font color="#ff0000">?</font>$1 [L] </code></p>
<p><code>这样，某个请求，如<a href="http://www.example.com/blog/view/123">http://www.example.com/blog/view/123</a> ，实际上会被解析成<a href="http://www.example.com/index.php?blog/view/123">http://www.example.com/index.php?blog/view/123</a> ，但是，假如我使用的请求必须通过GET方法传参数呢？这种解决方案就不能解决问题了。如<a href="tp://www.example.com/index.php?blog/view/123?from=1009&amp;author=bbiao">http://www.example.com/index.php?blog/view/123?from=1009&amp;author=bbiao</a> ,这个时候就无法通过parse_str($_SERVER['QUERY_STRING'], $_GET);的方法来获得GET的数据了。但是我们可以观察到$_SERVER['REQUEST_URI']里保存了blog/view/123?from=1009&amp;author=bbiao的值，OK，解析一下这个数据就可以了。代码如下：</code></p>
<p>$arr = explode(&#8216;?&#8217;, $_SERVER['REQUEST_URI']);   <br />parse_str($arr[1], $_GET);</p>
<p>另外说一句，由于CI里是把$_GET的数据清空的，所以才有了以上的这些说法，CI本身是不推荐使用GET来传递参数的，但有时候又不得不用，比如使用OAuth的时候，别人回调你的接口的时候都是这样传的，你能怎么办呢？事情总有解决办法的，现在我的程序在Godaddy上跑的一切正常。</p>
<h3>相关文章</h3>
<ol>
		<li><a href="http://www.agilephp.net/2011/01/nexus-one/" rel="bookmark">Nexus One</a><!-- (3.2)--></li>
		<li><a href="http://www.agilephp.net/2009/05/new-home/" rel="bookmark">新家</a><!-- (2.5)--></li>
		<li><a href="http://www.agilephp.net/2011/05/grub4dos-ubuntu-11-04/" rel="bookmark">使用Grub4DOS引导Ubuntu 11.04</a><!-- (2.4)--></li>
	</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.agilephp.net/2010/06/godaddy-and-codeigniter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

