• 19-12-2010, 14:45:56
    #1
    Merhaba,
    torrage scripti üzerinde çalışıyordum ve bu script lighttpd server için yapılmış. Gerekli yerlerini düzelttim. torrent dosyasını güzelce upload ediyor. Torrent in HASH bilgisine göre 't' klasörünün içine /ilk 2 karakter/sonraki 2 karakter diye klasörlere ayırıyor ve 'geri kalan karakterler.torrent' diye kaydediyor.
    Örnek:
    t/ilk2karakter/sonraki2karakter/gerikalankarakterler.torrent şeklinde...


    Ama isterken /torrent/gerikalankarakterler.torrent şeklinde istiyor.

    Readme dosyasındaki bilgi şu şekilde;
    #
    #
    #
    #
    #
    # Lighttpd 2.0
    #
    #
    #
    #
    #
    
    module_load (
    	"mod_status",
    	"mod_fastcgi",
    	"mod_dirlist",
    	"mod_rewrite",
    	"mod_redirect",
    	"mod_expire",
    	"mod_deflate",
    	"mod_cache_disk_etag",
    );
    
    do_deflate {
    	if req.is_handled {
    		if response.header["Content-Type"] =~ "^(.*/javascript|text/.*)(;|$)" {
    			deflate;
    		}
    	}
    }
    
    php {
    	fastcgi "unix:/var/run/lighttpd/php-fastcgi.socket";
    	do_deflate;
    }
    
    pregzipped {
    	header.add "Content-Encoding" => "gzip";
    	header.add "Vary" => "Accept-Encoding";
    }
    
    if req.host =~ "^(.+\.)?torrage.com" {
    	rewrite "/torrent/([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{36}).*" => "/t/$1/$2/$3.torrent";
    	docroot "/var/data/torrage.com/www";
    	index ( "index.php" );
    	if req.path == "/sync/" { dirlist; do_deflate; }
    	if !physical.exists { rewrite "/404.ghtml"; docroot "/var/data/torrage.com/www"; static; set_status 404; }
    	else if req.path =$ ".torrent" { pregzipped; }
    	else if req.path =$ ".php" { php; }
    	if req.path =$ ".ghtml" { pregzipped; }
    }
    Ben bunu apache için şu şekilde yaptım;
    RewriteEngine on
    RewriteBase /
    RewriteRule ^/torrent/([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{36})\.* /t/$1/$2/$3.torrent
    Ama bir türlü çalıştırmayı başaramadım. Mesela;
    http://abc.com/t/64/0F/E84C613C17F66...EBEABE.torrent
    şeklinde yazınca torrent iniyor fakat;
    http://abc.com/torrent/640FE84C613C1...EBEABE.torrent şeklinde olunca yapmaya çalıştığım RewriteRule çalışmıyor ve boş beyaz bir sayfa çıkıyor sadece. Nerde yanlışım var acaba bir türlü çözemedim...
  • 19-12-2010, 14:52:17
    #2
    Üyeliği durduruldu
    Düzen yanlış sol tarafda gerçek URL sağ tarafda rewrite olması lazım. Şöyle;

    RewriteRule ^/t/([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{36})\.* /torrent/$1$2$3.torrent

    olması lazım
  • 19-12-2010, 15:04:43
    #3
    MrHades adlı üyeden alıntı: mesajı görüntüle
    Düzen yanlış sol tarafda gerçek URL sağ tarafda rewrite olması lazım. Şöyle;

    RewriteRule ^/t/([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{36})\.* /torrent/$1$2$3.torrent

    olması lazım
    zaten dediğiniz gibi.Bu yanlış oldu biraz. Reelde 't' klasöründeki klasörlerde torrent dosyaları ama isterken /torrent/ diye olmayan bir klasörden istiyor.
  • 19-12-2010, 15:05:56
    #4
    Üyeliği durduruldu
    Tam rewrite kodunu verirsen yardımcı olmaya çalışayım. Buraya yanlış kodu yazıp senin kodundan yardım mı bekliyosun =)
  • 19-12-2010, 15:12:10
    #5
    Orjinali,Lighttpd için olanı bu:
    rewrite*"/torrent/([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{36}).*"*=>*"/t/$1/$2/$3.torrent";
    Benim yaptığım, çalışmayan, apache için olanı bu:
    RewriteRule ^/torrent/([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{36})\.* /t/$1/$2/$3.torrent
  • 19-12-2010, 15:22:27
    #6
    Üyeliği durduruldu
    İkiside yanlış yukarda da onu söyledim. Bikere gerçek URL torrent/ ile başlamıyor t/ ile başlıyor.

    rewrite*"/t/([0-9A-F]{2})/([0-9A-F]{2})/([0-9A-F]{36}).*"*=>*"/torrent/$1$2$3.torrent";

    Böyle olacak
  • 19-12-2010, 19:58:43
    #7
    MrHades adlı üyeden alıntı: mesajı görüntüle
    İkiside yanlış yukarda da onu söyledim. Bikere gerçek URL torrent/ ile başlamıyor t/ ile başlıyor.

    rewrite*"/t/([0-9A-F]{2})/([0-9A-F]{2})/([0-9A-F]{36}).*"*=>*"/torrent/$1$2$3.torrent";

    Böyle olacak
    Bu olmadı sanki?