Potrzebuje taka rzecz wykonac.
Mam url np. www.cos.pl/aaa/bbb.php i chcialbym zmienic odwolanie do pliku na np. taki url www.cos.pl/ccc/bbb.php.
Wiem, ze to jest wykonalne z poziomu konfigu apacha, z tym, ze na serwerze, na ktorym potrzebuje taka zmiane, mam akurat zablokowana opcje ustawiania przekierowan.
Pytanie czy jest mozliwosc aby to zrobic w php, i jesli tak, to jak? :)
Dziekuje z gory za pomoc.
nie wiem, czy dokladnie ciebie rozumiem. jezeli chodzi ci o takie niby prziekierowanie, to wykorzystaj dowiazania symboliczne. nie napisales, czy chodzi ci tylko o pliki php, czy wszystkie. jezeli mowisz o 'przekierowaniu' na kazdy typ pliku, to php nic tu nie pomoze.
Z tego co zrozumialem to:
- zmienna $_SERVER["PATH_INFO"] pobierzesz sobie caly adres
- pomanipuluj na stringu, wyciagnij element adresu ktory jest Ci potrzebny
- zmien jego wartosc np. na "ccc"
- Header("location: nowy_adres");
i po sprawie :).
Moze sie niezbyt jasno wyrazilem. Chodzi mi o wszystkie pliki. Location tutaj nic nie zmieni.
Jeszcze raz podam przyklad. Chodzi o wszystkie sciezki widoczne w przegladarce.
Docelowy katalog fizycznie znajduje sie w www.cos.pl/aaa/, chcialbym zrobic cos w rodzaju przekierowania na www.cos.pl/bbb/. Jednoczesnie aby dzialaly mi pliki php, ktore pobieraja dane z formularzy, przy takim przekierowaniu. Np. odwolanie do www.cos.pl/bbb/plik.php?zapytanie wywola www.cos.pl/aaa/plik.php?zapytanie. Jednoczesnie przy podaniu innego pliku np. /bbb/plik.zip przekierowalo na /aaa/plik.zip zeby mozna bylo go pobrac. (choc z tym zip'em nie jest az takie wazne)
po prostu user widzi jedna sciezke a w rzeczywistosci na serwerze pliki sa umieszczone w zupelnie innej.
Szczerze mowiac kompletnie w ciemno zadaje to pytanie, bo nie wiem czy cos takiego da sie wykonac przy pomocy samego php.
przy pomocy php sie nie da tego zrobic. mozna wykrzostac dowiazania simboliczne (symlinks). to jest taki linuksowy odpowenik windowsowych skrotow :) w jakis spsob korzystasz z serwera? przez ftp? a masz dostep do ssh? masz linuksa? :)
Karolaq napisał(a)
przy pomocy php sie nie da tego zrobic. mozna wykrzostac dowiazania simboliczne (symlinks).
Wydaje mi sie czy skórt to skrót a dowiązanie symboliczne to windowsowy hardlink (dobrze ukryty przed użytkownikami, ale jest ;) ) ?
Karolaq napisał(a)
przy pomocy php sie nie da tego zrobic. mozna wykrzostac dowiazania simboliczne (symlinks). to jest taki linuksowy odpowenik windowsowych skrotow :) w jakis spsob korzystasz z serwera? przez ftp? a masz dostep do ssh? masz linuksa? :)
Masz, masz :)
Wyglada na to ze tylko opcja z Rewrite w .htaccess mi pozostaje.
Przetrzepie jeszcze google, moze wkoncu sypna jakas odpowiedzia :)
Instrukcja jak wykonać przekierowanie URL za pomocą PHP znajduje się na na naszym blogu https://www.eactive.pl/porady-dla-webdeweloperow/jak-wykonac-przekierowania-adresow-url-za-pomoca-php
No prosze. Niezły górnik wykopał blisko 15 letni temat :D