URL limpo do Drupal no IIS

3

Alguma idéia de como habilitar URLs limpas no drupal quando o servidor é IIS?

    
por elcuco 27.05.2009 / 19:56

6 respostas

3

Uma rápida pesquisa no Google retornou este guia, URLs limpas do Drupal no IIS . Isso é útil?

    
por 27.05.2009 / 20:06
2

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:

  1. Desativar URLs limpos no Admin. do Drupal - > Configuração do site - > Limpar URLs
  2. Se você tiver o módulo 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:

  1. Descarregado o Ionic ISAPI Rewriting Filter 2.0.1.1013 RELEASE e descompactado o arquivo
  2. Seguiu as instruções do guia. O guia está incluído no arquivo ZIP em AdminGuide > Ajuda > IirfGuide.chm. Usamos o arquivo IirfGlobal.ini, citado no final deste post.
  3. IIS reiniciado
  4. Criado um arquivo Iirf.ini na pasta raiz do site, inserindo apenas 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ê.
  5. Alterou o arquivo Iirf.ini para sua forma final, conforme citado no final deste post
  6. Ativou URLs limpos novamente. Não ative a opção "Não limpar para limpar" de 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]
    
por 27.11.2009 / 22:43
1

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.

    
por 04.06.2009 / 18:07
1

Eu tenho usado o Ionic Rewrite por um tempo agora ... é grátis e funciona muito bem

link

    
por 24.07.2009 / 21:40
1

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. "

    
por 23.01.2013 / 17:43
0

O IIRF é um reescritor de URLs gratuito, funciona no IIS e funciona com o drupal.

    
por 15.07.2009 / 05:11

Tags