lighttpd redirecionar / reescrever

1

Eu estou tentando configurar um redirecionamento / reescrita para que as urls terminem com / (barra final) (para tornar amigável a seo).

No entanto, existem outras reescritas internas, que não são mostradas na barra de endereços do navegador. Eu quero ser capaz de redirecionar primeiro com trailing / no endereço barra e, em seguida, execute as reescritas internas.

quando tento colocar essa regra no início, todas as reescritas internas são exibidas na barra de endereço:

Atualmente, tenho regra de reescrita:

'url.rewrite-once = (
^/([0-9_-]+)(?:\?(.*))?" => "/path/www/index.php?cmd=alias&target=$1&$2",
<second condition> => <relative uri>
<third condition> => <relative uri>
 )'

Aqui está a regra que eu queria adicionar.

Regra usada: url.redirect = ("^(.*[^/])$" => "$1/")

Mas isso também mostra meu caminho interno no URL. por exemplo: www.tikejhya.com/path/www/index.php?cmd=alias&target=hellow/world&/

Eu só quero adicionar uma barra à direita (na barra de endereço visível), deixando tudo intocado.

FYI: meus módulos estão na ordem correta também, eu tentei guglling (mod_rewrite / fastcgi e alias com redirecionamento) Quaisquer ponteiros na direção correta seriam muito apreciados.

    
por tike 12.02.2013 / 16:00

1 resposta

1

Ok, eu encontrei uma solução / treino para isso. Como descrito antes eu tinha reescrito uma vez para todos os hosts, e eu precisava de redirecionamento que estava aparecendo caminho físico.

Depois de arranhar minha cabeça com força e ler tudo sobre a possibilidade de luz.

Isso ajudará você a colocar o caminho como um registro

url.rewrite-once = (
    "^/show(.*)$"  => "$0"
)

Fazendo o próximo passo

Isso ajudará você a redirecionar qualquer coisa para o caminho de retenção de cima da reescrita uma vez e atrasá-lo no final.

url.redirect = (
    "^(.*[^/])$" => "$1/"
)
    
por 15.02.2013 / 18:49