htaccess como redirecionar se todas as outras regras falharem?

2

O htaccess sempre deu meus problemas. Toda vez que eu acho que entendo, o htaccess vai contra o que eu pensava ter entendido. Qualquer ajuda seria muito apreciada.

O que eu quero fazer com o htaccess é redirecionar os URIs como:

www.example.com/get/something to  www.example.com/get.php/something
www.example.com/cape/something  to www.example.com/active.php/something

Juntamente com vários outros. Eu tenho que trabalhar muito, a coisa que eu não tenho trabalho é se nenhuma dessas regras são satisfeitas, em seguida, redirecionar para o meu domínio principal. Então, se eu acabar com um URI de www.example.com/anythingThatIsNotDefined/anything ou apenas www.example.com/anythingThatIsNotDefined , quero redirecioná-lo para link

É essa última parte que não consigo trabalhar. Meu arquivo de htaccess atual é:

RewriteEngine On
RewriteRule ^get/(.*)$ /get.php/$1 [L]
RewriteRule ^skin/(.*)$ /active.php/$1 [L]
RewriteRule ^cape/(.*)$ /active.php/$1 [L]

O que eu preciso modificar para conseguir redirecionar para meu outro domínio algo que não é obtido ou capa ou capa?

Eu precisarei adicionar mais do que obter, capa e capa, mas assim que eu começar a trabalhar, eu poderei adicionar mais facilmente

Obrigado antecipadamente, isso realmente tem me impressionado.

(Se este não é o site da pilha certa, eu peço desculpas, foi um 50/50 lance acima entre aqui e estouro. Eu não tinha certeza qual deles pertenciam.)

    
por Ryan Sullivan 22.03.2012 / 21:45

1 resposta

4

.htaccess usa a ordem para determinar o que acontece primeiro (assim como todos os arquivos de configuração do Apache). No seu caso, basta colocar todas as regras de reescrita "especiais" antes de uma regra geral, como a abaixo.

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://www.otherdomain.com/$1 [R=301,L]

Esta regra basicamente diz que, para qualquer coisa que não exista como um recurso difícil (arquivo ou diretório), redirecione a solicitação para o link , incluindo a string URI. Supondo que isso vem após seus redirecionamentos de URL amigável, eles não serão capturados.

    
por 22.03.2012 / 22:00