ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [apache-talk] mod_rewrite?



В письме от Вт 04 Фев 2003 14:48 Вы написали:

> На лицо ситуация: сервер путает запросы. Я правильно понял?
Еще раз повторюсь - в реврайт-логе апача все правильно.

> Apache путать не должен. Значит дело во враппере.
> Код в студию.

Я не думаю, что это чем-нибудь поможет. Это кусок, который отвечает именно за 
картинки.

==start here==
#/usr/bin/perl
use Digi::Session; #session management module
use Digi::Setup; #setup management module
use Digi::Database; #database module
$|=1;#turn off buffering
my $db = Digi::Database->new(); #new db object
while(<STDIN>){
        $url = $_;
        if($url =~/^\/([0-9a-z]{32})\/preview\/(\d+)\/([^\/]+)$/){
                $sess = $1; $fid = $2; $file = $3;
                my $sess = Digi::Session->new4rewrite(db => $db, sess => 
$sess); # new session
                if($sess){ #if session good
                        my $setup = Digi::Setup->new(db => $db, uid => 
$sess->uid); #new setup object
                        my $rootpath = $setup->setup('root'); #path to www-root
                        my $filepath = $setup->setup('path'); #path to file 
store
                        $filepath =~ s/$rootpath//; #relative to www-root path 
to file
                        my $r = $db->select("here the right select statment"); 
#get the real name
                        if($r->rows){ #if file exists
                                my $h = $r->hrow; #get row
                                my $suid = $sess->uid; #user's uid
                                if(($suid == $h->{uid}) && ($file eq 
$h->{name})){ #if name && uid are good (names only in english!!!!)
                                        print "$filepath/".$h->{file}."\n"
                                }else{
                                        print "/error.html\n"
                                }
                        }else{
                                print "/error.html\n";
                        }
                }else{
                        print "/error.html\n";
        }else{
                print $url;
        }
}

==end here==
-- 
Stanislav Yadykin
Network Operation Center
CJSC "Internet-Service"
SVY3-RIPE
=============================================================================
=               Apache-Talk@lists.lexa.ru mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =



 




Copyright © Lexa Software, 1996-2009.