Lighttpd несколько перенаправлений - PullRequest
0 голосов
/ 10 марта 2012

У меня есть два перенаправления для моего приложения,

$HTTP["host"] =~ "^(.*)$" {
  url.redirect = ( "^/(.*)\.(markdown|md)$" => "http://%1/$1.html")
}

$HTTP["host"] =~ "^www\.(.*)$" {
  url.redirect = ( "^/(.*)" => "http://%1/$1" )
}

Один перенаправляет уценку или расширение md в html версию, другой перенаправляет с www на не www. Но один переопределяет другой в зависимости от того, какой из них последним.

Ответы [ 2 ]

0 голосов
/ 08 июня 2012

Вы можете проверить ниже приведенные примеры, я дал 4 diff senario на lightty для выполнения перенаправления.

 $SERVER["socket"] == "10.0.0.14:80" {
           server.name = "example.com"
    server.document-root = "/data/logs/"
    accesslog.filename = "/logs/www/access_log"
    server.errorlog = "/logs/www/error_log"


      url.redirect = (

"^/(.*)" => "http://tikejhya.com/$1", 
    ""       => "http://tikejhya.com/",

            "^(.*[^/])$" => "$1/", --> adding trailing slash

            "^(.*.txt)" => "$1"    or --> removing trailing slash
            )
    }

Надеюсь, это поможет

0 голосов
/ 22 апреля 2012

Если вы измените порядок перенаправлений, то вы должны достичь желаемого результата.

$HTTP["host"] =~ "^www\.(.*)$" {
      url.redirect = ( "^/(.*)" => "http://%1/$1" )
}
else $HTTP["host"] =~ "^(.*)$" {
      url.redirect = ( "^/(.*)\.(markdown|md)$" => "http://%1/$1.html")
}

ДЕЛО 1

1.  http://www.agilityspeaks.com/test.md redirects to http://agilityspeaks.com/test.md
2.  http://agilityspeaks.com/test.md then redirects to http://agilityspeaks.com/test.html

СЛУЧАЙ 2

1.  http://agilityspeaks.dom/test.md redirects to http://agilityspeaks.com/test.html

Я не проверял это, но не понимаю, почему это решение не сработало. Дайте мне знать!

...