Uma rápida pesquisa no Google retornou este guia, URLs limpas do Drupal no IIS . Isso é útil?
Alguma idéia de como habilitar URLs limpas no drupal quando o servidor é IIS?
Uma rápida pesquisa no Google retornou este guia, URLs limpas do Drupal no IIS . Isso é útil?
Depois de um pouco de dor, o meu grande administrador de hospedagem e eu consegui obter o Ionic ISRF 2.0.1.1013 RELEASE trabalhando no IIS v6.0. Eu pensei em postar como nós conseguimos trabalhar. e esperamos que nossa solução o ajude!
Eu tinha o site trabalhando em um tipo diferente de servidor antes de começar, então tive alguns problemas com a configuração do Drupal existente. Portanto, se você também já tiver o site configurado em algum outro lugar, faça o seguinte antes movendo para o novo servidor:
Global Redirect
ativado, defina a opção "Não limpar para limpar" como "Desativar" em Admin - > Configuração do site - > Redirecionamento Global Aqui estão os passos que tomamos para que funcione:
StatusUrl /iirsStatus RemoteOk
. Em seguida, testamos se o IIRS estava funcionando, indo para http://mysite.example.com/iirsStatus
. Deve imprimir algumas linhas de status para você. Global Redirect
! Ele irá redirecionar a página infinitamente.
IirfGlobal.ini:
RewriteEngine ON
RewriteFilterPriority DEFAULT
NotifyLog OFF
Iirf.ini:
# Do not pass to drupal if the file or directory exists
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
# Handle query strings on the end
RewriteRule /(.*)\?(.*)$ /index.php\?q=$1&$2 [I,L]
# now pass through to the generic handler
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(.*)$ /index.php?q=$1 [I,L]
Há alguma documentação no site do Drupal sobre o uso de URLs limpas no II6 que estou usando no momento. Confira o link .
A resposta curta é baixar o ISAPI Rewrite 2 lite de link . A versão lite só permite configurar um conjunto de regras de reescrita para toda a sua configuração do IIS, mas funciona bem e é gratuito.
A versão paga permite que você especifique regras de reescrita para cada site que você configurou no IIS, mas exigiu mais configuração do IIS.
As regras da ISAPI que estou usando são:
# Helicon ISAPI_Rewrite configuration file # Version 3.1.0.62 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !=/favicon.ico RewriteRule ^(.*)$ /index.php?q=$1 [L,QSA]
Se sua instalação do Drupal foi instalada em um subdiretório, você desejará ajustar essas regras um pouco.
Eu tenho usado o Ionic Rewrite por um tempo agora ... é grátis e funciona muito bem
Consegui implementar isso instalando o módulo de regravação de URL e criando um arquivo web.config no diretório base com este código:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<rewrite>
<rules>
<rule name="Drupal clean URLs" enabled="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" negate="true" pattern="/favicon.ico$" />
</conditions>
<action type="Rewrite" url="index.php?q={R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</configuration>
Há mais informações neste post , que diz: "Você também precisa instalar um hotfix Para corrigir o comportamento de REQUEST_URI ao usar o PHP através do módulo FastCGI, consulte KB954946 para obter mais informações. Um sintoma desse problema é quando todos submissões de formulário são redirecionadas para a página inicial do site. "
O IIRF é um reescritor de URLs gratuito, funciona no IIS e funciona com o drupal.