htaccess .html reescreve a exceção

1

Ok, eu preciso adicionar uma exceção! Como posso fazer isso? Atualmente, uso RewriteRule ([^.]+).html $1 [R=301,L] para reescrever todos os URLs .html

Eu preciso da exceção para o arquivo de verificação google.html. Como posso definir essa exceção?

Eu tentei isso, mas não funciona. Alguma idéia?
RewriteCond $1 !^(google022e525bdb654772.html|googleb5e92d18c6640aeb.html)/?

e eu tentei

RewriteCond $1 !^(google022e525bdb654772.html|googleb5e92d18c6640aeb.html)

    
por sysadmin1138 06.08.2010 / 22:27

2 respostas

3

O que você tem não está funcionando porque backreferences (como $1 ) em RewriteCond se referem a grupos no último RewriteCond correspondente, em vez de RewriteRule .

Tente o seguinte:

RewriteCond %{REQUEST_URI} !^/google(022e525bdb654772|b5e92d18c6640aeb)\.html
RewriteRule ([^.]+).html $1 [R=301,L]
    
por 06.08.2010 / 22:54
0

As regravações são processadas em ordem. Coloque em uma reescrita que não faz alterações, mas se declara a última reescrita, antes de suas reescritas normais.

Geralmente é ruim ninhar reescreve com informações sobre o que eles não são, o que tem que ser lido passado, quando você pode obter as exceções tratadas e fora do caminho.

RewriteRule ^/google022e525bdb654772.html$  -  [L]
RewriteRule ^/googleb5e92d18c6640aeb.html$  -  [L]
RewriteRule ([^.]+).html $1 [R=301,L]
    
por 08.08.2010 / 08:17