Habilitando URLs amigáveis para mecanismos de pesquisas (SEF) no IIS7
From Joomla! Documentation
< Enabling Search Engine Friendly (SEF) URLs on IISRevision as of 03:18, 7 July 2022 by Gkiyoshinishimoto (talk | contribs)
Se você tiver um servidor executando o IIS 7 e o PHP, poderá aproveitar a própria reescrita de URL interna do IIS usando um arquivo web.config semelhante ao listado abaixo.
Você pode criar o arquivo sozinho ou usar a interface gráfica do usuário no gerenciador do IIS7. Você pode importar regras do .htaccess usando o assistente da interface gráfica do usuário.
Esta funcionalidade depende da presença do Módulo de reescrita de URL do IIS, que não vem com o Windows. É um download gratuito e um produto da Microsoft.
Interface gráfica do usuário
Se o módulo de reescrita de URL do IIS estiver instalado, o gerenciador de seu site terá uma ferramenta para "reescrita de URL", visível na exibição do gerenciador dos IIS dos módulos para IIS configuráveis do seu site. A interface é amplamente auto-explicativa. Expressões regulares, curingas ou correspondências exatas são todas suportadas.
Na configuração do Joomla, ative o mod_rewrite do SEF e do Apache, em seguida, crie uma regra na reescrita de URL do IIS:
- Pattern field: ^([^/]+)/?$
- Ignore case ON
- Action type: Rewrite
- Rewrite URL: index.php/
web.config
Isso foi testado no Joomla 1.5 com IIS 7 no Windows Server 2008 sem problemas até agora. Para obter mais informações sobre como converter .htaccess para web.config, confira http://learn.iis.net/page.aspx/557/translate-htaccess-content-to-iis-webconfig/
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="Common Exploit Blocking" stopProcessing="true">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAny">
<add input="{QUERY_STRING}" pattern="mosConfig_[a-zA-Z_]{1,21}(=|\%3D)" />
<add input="{QUERY_STRING}" pattern="base64_encode.*\(.*\)" />
<add input="{QUERY_STRING}" pattern="(\<|%3C).*script.*(\>|%3E)" />
<add input="{QUERY_STRING}" pattern="GLOBALS(=|\[|\%[0-9A-Z]{0,2})" />
<add input="{QUERY_STRING}" pattern="_REQUEST(=|\[|\%[0-9A-Z]{0,2})" />
</conditions>
<action type="Redirect" url="index.php" appendQueryString="false" redirectType="SeeOther" />
</rule>
<rule name="Joomla Search Rule" stopProcessing="true">
<match url="(.*)" ignoreCase="true" />
<conditions logicalGrouping="MatchAll">
<add input="{URL}" pattern="^/search.php" ignoreCase="true" />
</conditions>
<action type="Rewrite" url="/index.php?option=com_content&view=article&id=4" />
</rule>
<rule name="Joomla Main Rewrite Rule" stopProcessing="true">
<match url="(.*)" ignoreCase="true" />
<conditions logicalGrouping="MatchAll">
<add input="{URL}" pattern="(/[^.]*|\.(php|html?|feed|pdf|raw))$" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/" />
</rule>
</rules>
</rewrite>
<caching>
<profiles>
<add extension=".php" policy="DisableCache" kernelCachePolicy="DisableCache" />
</profiles>
</caching>
</system.webServer>
</configuration>