Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> php oddanie sterowania serwerowi apache, przerzucenie części sterowania z pliku ".htaccess" na skrypt p
szagi3891
post
Post #1





Grupa: Zarejestrowani
Postów: 109
Pomógł: 9
Dołączył: 12.03.2007
Skąd: kraków/tarnobrzeg/baranów/suchorzów

Ostrzeżenie: (0%)
-----


Wyobraźmy sobie sytuację że mamy stronę opartą o skrypt index.php na który są kierowane wszystkie wywołania poprzez plik ".htaccess".

przykładowy plik htaccess który to powoduje :

  1. <?php
  2. RewriteEngine On
  3. RewriteBase /
  4. RewriteRule (.*) index.php [L]
  5. ?>


Niezależnie jaki adres zostanie wywołany to za każdym razem wykonany zostanie plik index.php



Załóżmy teraz że obok pliku "index.php" i pliku ".htaccess" tworzymy katalog "media" do którego będziemy chcieli się odwoływać (gdzie będą znajdować się obrazki, style, skrypty java script i inne rzeczy potrzebne przy wizualizacji strony).

(załóżmy że w katalogu media mamy pliki obrazek1.jpg obrazek2.jpg styl1.css skrypt1.js)
Mam teraz zasadnicze pytanie :

jak zrobić żeby po wpisaniu np. adresu odnoszącego się do obrazek1.jpg został on zwrócony ?

  1. <?php
  2. np : domena.pl/media/obrazek1.jpg -- > ma zostać zwrócony obrazek1.jpg z katalogu media
  3. np : domena.pl/media/obrazek2.jpg -- > ma zostać zwrócony obrazek2.jpg z katalogu media
  4. np : domena.pl/media/styl1.css -- > ma zostać zwrócony styl1.css z katalogu media
  5. np : domena.pl/media/skrypt1.js -- > ma zostać zwrócony skrypt1.js z katalogu media
  6. np : domena.pl/blabla -> uruchamainy plik index.php - który na podstawie paska adresu podejmuje właściwe decyzje co ma zostać wyświet
    lona
  7. np : domena.pl/blabla2222 -> uruchamainy plik index.php  - który na podstawie paska adresu podejmuje właściwe decyzje co ma zostać wyświet
    lona
  8. ?>



Można to zrealizować za pomocą dodatkowego wpisu w pliku ".htaccess" :
RewriteRule ^media/(.*)$ media/$1 [L]

lecz chciałbym tego uniknąć. Strasznie łatwo coś z pliku "htaccess" zepsuć i bardzo łatwo błąd 500 można otrzymać.
Czy ktoś ma jakiś pomysł bądź jakieś swoje sprawdzone rozwiązanie ma opatentowane w tym przypadku ?


@edit - meritum


chodzi o funkcję czy taka istnieje że : jej parametrem jest ścieżka do pliku
efektem jest :
wyświetlenie zawartości tego pliku w przeglądarce tak jak gdyby został on bezpośrednio w pasku adresu wywołany.


Ten post edytował szagi3891 6.07.2008, 10:14:36
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
szagi3891
post
Post #2





Grupa: Zarejestrowani
Postów: 109
Pomógł: 9
Dołączył: 12.03.2007
Skąd: kraków/tarnobrzeg/baranów/suchorzów

Ostrzeżenie: (0%)
-----


Nie chciał bym korzystać z funkcji php która wczytuje plik. Wolał bym aby php przerzucało to zadanie na apache. Chodzi mi bardziej czy jest jakiś interfejs api za pomocą którego skrypt php mógłby powiedzieć serwerowi apache :

słuchaj Ty no apachu, to żądanie co prawda mi przekierowałeś (mówi skrypt) lecz moim życzeniem jest abyś w ramach tego zadania udostępnił plik /media/xxx.jpg gdyż ten użytkownik poprawnie przeszedł proces autoryzacji (sprawdzenie session_id itp ...)


Z tego co wygrzebałem do tej pory w jakimś stopniu można by spróbować zastosować :
http://httpd.apache.org/docs/1.3/mod/mod_r...html#RewriteMap

Bądź funkcję :
http://pl.php.net/manual/pl/function.virtual.php

O ile mapa nie spełnia wszystkich moich oczekiwań to w ostateczności pewnie zastosuje to rozwiązanie.

Natomiast funkcja virtual nie chce działać na serwerach nazwy oraz innym jeszcze serwerze.

Czy ktoś na coś takiego ma pomysł ?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.12.2025 - 04:13