Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

localhost: relativna adresa u CGI skripti? skrivanje dela putanje kroz .htaccess?

[es] :: Linux/UNIX serveri i servisi :: localhost: relativna adresa u CGI skripti? skrivanje dela putanje kroz .htaccess?

[ Pregleda: 3269 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

EmmaR
Srbija

Član broj: 269847
Poruke: 466



+172 Profil

icon localhost: relativna adresa u CGI skripti? skrivanje dela putanje kroz .htaccess?03.10.2017. u 10:39 - pre 78 meseci
Nešto se "igram" sa CGI skriptama i lokalnim serverom.

Koristim lokalni web server instaliran kroz Bitnami Lampp stack.
cgi-bin i htdocs folderi su smešteni unutar apache2 foldera.

Perl, Ruby i Python kao CGI skripte (smeštene u cgi-bin) treba da pročitaju, malo izmene i prikažu sadržaj tekstualne datoteke koja je u stvari HTML sačuvan kao .txt. I, to radi, ali samo pod uslovom da je datoteka smeštena unutar cgi-bin direktorijuma.
Ono što me muči jeste kako zadati relativnu URL adresu dokumenta koji se sačuvan u htdocs direktorijumu?
Tekstualna datoteka sadrži i link koji upućuje na relativnu URL adresu i to je OK:
Code:
<a href='/test_site'>Back to START ...</a> 


Ali, ali ... nikako mi ne uspeva da postavim relativnu adresu za tekstualnu datoteku koju skripte treba da otvore. (OK, znam da mogu da iz skripte dinamički generišem HTML, ali s obzirom da sve tri skripte treba da generišu slične strane mislila sam da pojednostavim postupak).


Da bi bilo jasnije o čemu se radi, ovo je tekstualna datoteka:
Code:

<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
  * {
    background-color: #121121;
    color: #feffef;
    font-family: 'Comic Sans MS', Andika, Arial, sans-serif;
  }
  .centar {
    margin: 0 auto;
    margin-top: 7%;
    width: 50%;
    height: 25%;
    min-width: 500px;
    min-height: 250px;
    background-color: #232232;
    color: #eeeeee;
    text-align: center;
    padding-top: 7%;
  }
  h1, h2 {
    text-align: center;
    background-color: inherit;
    color: inherit;
  }
  h2 { font-weight: 300; }
  .perl { color: #ceffce; }
  .ruby { color: #ff0000; }
  .python { color: #00ff44; }
  nav {
    width: inherit;
    background-color: inherit;
    text-align: right;
    padding-right: 1%;
    padding-bottom: 1.5%;
  }
</style>
</head>
<body>
<div class="centar">
<h2></h2>
<h1>Hello, World!</h1>
</div>
<nav>
<a href='/test_site'>Back to START ...</a>
</nav>
</body>
</html>

CSS je ubačen direktno jer nisam uspela da povežem sa eksternim .css fajlom, pa čak ni kada je u istom folderu.

Ovo je Perl skripta:
Code:

#!/usr/bin/perl
print("Content-Type: text/html;charset=utf-8\n\n");

open(FH,"<hello-world.txt"); #ovde treba da ide relativna URL adresa do localhost/test_site/my-files/
while(<FH>) {
  if ( $_ eq "<title></title>\n") {
    print("<title>Hello from Perl</title>");
  }
  elsif ( $_ eq "<h2></h2>\n") {
    print("<h2 class='perl'>Perl CGI</h2>");    
  }
  else {
    print($_);
  }    
}
close(FH);

exit; 

(tema je relativna URL adresa, skripta nije 100% OK - nedostaju sigurnosne mere).




Kako sakriti ili izmeniti deo URL adrese kroz .htaccess fajl. U ovom slučaju htela bih da sakrijem da je skripta pozvana iz cgi-bin foldera.

Da li je obavezno da Perl, Ruby i Python skripte budu čuvane unutar cgi-bin direktorijuma? Kod mene rade i kada su unutar htdocs-a.





Dopuna:
Problemi sa URL adresama su rešeni, pa ako nekome zatreba:
Perl:
Code:

open(FH,"<../../my-files/hello-world.txt");


Python:
Code:

for line in open("../../my-files/hello-world.txt","r"):


Ruby:
Code:

AppRoot = File.expand_path('../../my-files',File.dirname(__FILE__))
File.open(File.join(AppRoot, "hello-world.txt"),"r") do |fh| 






[Ovu poruku je menjao EmmaR dana 03.10.2017. u 12:48 GMT+1]
ER
 
Odgovor na temu

[es] :: Linux/UNIX serveri i servisi :: localhost: relativna adresa u CGI skripti? skrivanje dela putanje kroz .htaccess?

[ Pregleda: 3269 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.