Drupal limpa urls no IIS6 com IIRF tendo diferentes subpastas E sites raiz

1

Oi! Eu tenho IIS6 no servidor win 2003 com um site em www.example-one.com. Eu habilitei o IIRF e tudo funciona muito bem (também graças a URL limpo do Drupal no IIS )

No mesmo servidor, também tenho um site em www.example-two.com/mysite. mas não consigo ativar cleanURLs neste. Se eu adicionar as regras de reescrita sugeridas para subpastas (mesmo link acima), cleanURLS funcionará neste site, mas pare de trabalhar no outro. Eu acho que apenas a última linha é executada.

Eu não sou um administrador de sistemas real (fui designado para manter este servidor porque ninguém mais o faria), alguém pode me ajudar a escrever as regras de reescrita adequadas para o IIRF para habilitar cleanURLs em ambos os sites?

Agradecemos antecipadamente.

    
por user29185 15.12.2009 / 14:11

1 resposta

1

Com um pouco de pesquisa adicional, aprendi que o sinalizador 'L' diz ao IIRF que não processe mais padrões se o atual corresponder ". Portanto, minha solução foi modificar o iirf.ini do encadeamento acima da seguinte forma:

# 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
# firstly for the subfolder without the L flag
RewriteRule /mysubfolder/(.*)\?(.*)$ /mysubfolder/index.php\?q=$1&$2 [I]
# then for the root
RewriteRule /(.*)\?(.*)$ /index.php\?q=$1&$2 [I,L]

# now pass through to the generic handler
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# firstly for the subfolder without the L flag
RewriteRule ^/mysubfolder/(.*)$ /mysubfolder/index.php?q=$1 [I]
# then for the root
RewriteRule ^/(.*)$ /index.php?q=$1 [I,L]

HTH.

    
por 16.12.2009 / 09:31

Tags