| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Janek 25.01.2010 14:35 / 25.01.2010 14:37
.htaccessRewriteEngine on RewriteOptions maxredirects=5 RewriteRule (.*)\.html$ parser3.pl RewriteRule (.*)/$ parser3.pl RewriteRule ^$ parser3.plparser3.pl
$parserDir = "/hidden/bin/parser3/";
$filename = $ENV{'SCRIPT_URL'};
#some rewrite rules (from apache's .htaccess)
#RewriteRule ^(.*/)n\.([0-9]*)/$ $1/?mod_news.id=$2 [L,QSA]
@matches = ($filename =~ m|(.*/)n\.([0-9]*)/$|);
if(scalar(@matches) == 2){
$filename = @matches[0];
$ENV{'QUERY_STRING'} = "mod_news.id=".@matches[1];
}
if(substr($filename,length($filename)-1) eq "/"){
$filename = $filename."index.html";
}
$ENV{'PATH_INFO'} = $filename;
$ENV{'PATH_TRANSLATED'} = "/".$ENV{'PATH_INFO'};
$ENV{'SCRIPT_NAME'} = $parserDir.'parser3.cgi';
$ENV{'CGI_PARSER_CONFIG '} = $parserDir.'auto.p';
$ENV{'SCRIPT_FILENAME'} = $ENV{'SCRIPT_NAME'};
delete $ENV{'PATH_REDIRECTED'};
$ENV{'REDIRECT_URL'} = $ENV{'PATH_INFO'};
if(-e $ENV{'PATH_TRANSLATED'}){
system($ENV{'SCRIPT_NAME'});
}else{
print("HTTP/1.1 404 Not Found\n");
print("Server: Parser3 Wrapper\n");
print("Content-Type: text/html\n");
print("Connection: Keep-Alive\n\n");
print("<html><head><title>404 Not Found</title></head>");
print("<body><h1>404 Not Found</h1><p>The request was not found on this server.</p>");
# display env for debugging
# print('<pre style="border: 1px solid #000; padding: 10px; background-color: #eee">');system("env");print("</pre>");
print("</body></html>");
}Большое спасибо для Moko и Sumo за советы и поддержку!