eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.wwwlighttpd i rewrite z pominieciem istniejacych plikow
Ilość wypowiedzi w tym wątku: 2

  • 1. Data: 2009-04-10 11:59:42
    Temat: lighttpd i rewrite z pominieciem istniejacych plikow
    Od: patrykd <p...@i...pl>

    witam

    jak zmontowac regule w lighttpd, ktora bedzie przekierowala wszystko
    co nie istnieje fizycznie do jednego pliku?

    http://sub1.domain.com ma kierowac na /www/sub1.php
    http://sub2.domain.com => /www/sub2.php
    http://sub3.domain.com => /www/sub3.php
    itd.

    czyli wybrane poddomeny kieruja do jednego katalogu, tylko prowadza na
    inne pliki, z tym ze jesli istnieje plik http://sub2.domain.com/css/main.css,
    to juz nie ma przekierowania na sub2.php, tylko na istniejacy plik, a
    jesli bedzie http://sub2.domain.com/css/main.js (ktory nie istnieje),
    to przejmuje to sub2.php i na swoj sposob mieli.

    obecnie robie to mniej wiecej tak:

    $HTTP["host"] == "www.sub1.domain.com" {
    url.redirect = ( "^/(.*)" => "http://sub1.domain.com/$1" )
    }
    $HTTP["host"] == "sub1.domain.com" {
    server.document-root = "/www/"
    url.rewrite = ( "^/(.*\.css(\?.*)?|.*\.js(\?.*)?|.*\.png|.*\.php
    (\?.*)?|.*\.htm|.*\.html|.*\.gif|.*\.jpg)$" => "/$1", "^/.*$" => "/
    sub1.php" )
    }

    i analogicznie dla sub2 itd. (w oddzielnych regulkach, bo nie
    wszystkie maja prowadzic do tego samego katalogu), jednak wolalby,
    zeby zalatwic to wlasnie jakas regula, ktora sprawdza, czy istnieje
    plik, bo powyzej np. nie ma rozszerzenia .txt, a jesli istnialby plik
    sub2.domain.com/robots.txt, to kierowaloby to na sub2.php (dopoki nie
    dodalbym rozszerzenia do regulki).

    pozdr.


  • 2. Data: 2009-04-10 13:45:33
    Temat: Re: lighttpd i rewrite z pominieciem istniejacych plikow
    Od: porneL <n...@p...net>

    On Fri, 10 Apr 2009 12:59:42 +0100, patrykd <p...@i...pl> wrote:

    > witam
    >
    > jak zmontowac regule w lighttpd, ktora bedzie przekierowala wszystko
    > co nie istnieje fizycznie do jednego pliku?

    server.error-handler-404 = "/error-404.php"


    lighttpdowy mod_rewrite tego nie jest w stanie wykonać.

    Jak handler 404 ci nie pasuje, to możesz użyć mod_magnet z kawałkiem skryptu lua, np:

    if (not lighty.stat(lighty.env["physical.path"])) then
    lighty.env["physical.rel-path"] = "/rewrite.php"
    lighty.env["physical.path"] = lighty.env["physical.doc-root"] ..
    lighty.env["physical.rel-path"]
    end

    --
    http://pornel.net
    this.author = new Geek("porneL");

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: