Como eu posso reescrever com o apache mod_rewrite um diretório inteiro?

1

Eu preciso deste URL / diretório make/lores/some/ para apontar / mapear para login/ Eu também preciso reescrever .php extensões para .html

Exemplo

Quando o cliente digita em example.com/make/lores/some/login.html o servidor deve process example.com/login/login.php .

Eu tenho uma regra abaixo, mas o problema é que os outros arquivos no diretório de login (por exemplo, /login/images/one.png etc.) não são tratados / reescritos, por isso acabo com um erro 404.

RewriteRule     ^(.*)\.htm$     login/index.php [NC]
    
por hey 28.06.2014 / 20:18

1 resposta

1

Talvez algo assim:

RewriteEngine on
RewriteRule   ^/make/lores/some/(.+)  http://example.com/login/$1      [R,L]

Isto irá lidar com a reescrita para o novo URL. Para corrigir a extensão de .html para .php , você pode usar uma segunda regra para isso:

RewriteRule   ^/login/(.+)\.htm$      http://example.com/login/$1.php  [R,L]

Referências

por 28.06.2014 / 20:37