[CakePHP] Adres url, Adres bez "app/webroot" |
[CakePHP] Adres url, Adres bez "app/webroot" |
3.09.2006, 16:24:20
Post
#1
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 30.07.2006 Skąd: okolice Elbląga Ostrzeżenie: (0%) |
Witam.
Mój kolejny problem polega na tym, że gdy w kodzie strony używam przekierowania wbudowane w CakePHP, tzn.: Kod $this->redirect('w tym miejscu adres'); To w przypadku gdy chce przekierować stronę do adresu, np. http://jakasdomena.pl/users/login to adres ten jest zamieniany do postaci: http://jakasdomena.pl/app/webroot/users/login Czy istnieje mozliwość aby adresy url nie zawierały "app/webroot" Pozdrawiam |
|
|
3.09.2006, 16:45:05
Post
#2
|
|
Grupa: Zarejestrowani Postów: 627 Pomógł: 33 Dołączył: 1.05.2005 Skąd: Katowice Ostrzeżenie: (0%) |
cos musiales schrzanic, mia dziala dobrze:
Pamietaj o exicie na koncu (!). -------------------- |
|
|
6.09.2006, 19:48:22
Post
#3
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 30.07.2006 Skąd: okolice Elbląga Ostrzeżenie: (0%) |
Dodałem exit() ale to i tak nie pomaga. Stale dodaje mi app/webroot. Moja wersja CakePHP: 1.1.7.3363.
Może coś w pliku konfiguracyjnym mam pokiełbasione??
Witam! Udało mi się rozwiązać problem w ten sposób: W pliku controller.php bibliotek CakePHP jest funkcja odpowiadająca za przekierowywanie: Wygląda ona następująco:
Zmieniłem wiersz nr 00343 na następujący:
I teraz gdy korzystam z funkcji redirect(), do adresu nie jest już dodawamy łańcuch "app/webroot" Pozdrawiam |
|
|
11.09.2006, 17:45:14
Post
#4
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 30.08.2006 Skąd: Kraków Ostrzeżenie: (0%) |
@kacperix: hackowanie rdzenia Cake`a to nie jest dobre rozwiązanie - kiedyś zrobisz update rdzenia, zapomnisz o hacku i kilka godzin nie Twoje
Po pierwsze - sprawdź jaką wartość ma stała 'APP_DIR' (w index.php Twojej strony). Po drugie - sprawdź, czy adres podajesz z '/' na początku. Pozdrawiam |
|
|
15.09.2006, 20:04:35
Post
#5
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 30.07.2006 Skąd: okolice Elbląga Ostrzeżenie: (0%) |
Racja, że jest to nie najlepszy pomysł, no ale cóż zrobić.
Cytat Po pierwsze - sprawdź jaką wartość ma stała 'APP_DIR' (w index.php Twojej strony). Po drugie - sprawdź, czy adres podajesz z '/' na początku. - Stała 'app_dir' ma wartość 'app' - Ma taka być czy muszę ją zmienić aby działało przekierowanie?? - A jeżeli chodzi o adres to zawsze z '/' Pozdrawiam |
|
|
15.09.2006, 21:02:36
Post
#6
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 30.08.2006 Skąd: Kraków Ostrzeżenie: (0%) |
Hmm...
Może nie masz mod_rewrite`a? (najlepiej odkomentuj i sprawdź jak działa strona z tym). Pozdrawiam |
|
|
17.09.2006, 10:55:58
Post
#7
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 30.07.2006 Skąd: okolice Elbląga Ostrzeżenie: (0%) |
mod_rewrite jest zainstalowany na 100% (działam na serwerach Nazwa.pl) :roll2:
Kurcze no......jak innym to działa to i u mnie musi działać. Czy może to być spowodowane złą konfiguracją przy instalacji CakePHP?? Albo może to jest coś na serwerach ustawione tak a nie inaczej, że to tak działa?? Ja już nie mam nerwów na tego CakePHP Uruchamiałem go na serwerze WAMP pod Windowsem i wszystko pięknie gra, przekierowanie działa w taki sposób w jaki powinno. A na serwie w necie (nazwa.pl), nie chce działać tak jak powinno, cały czas przy przekierowaniu przy wykorzystaniu funkcji redirect() jest dodawane do adresu: "app/webroot". MASAKRA!!! Witam! Nareszcie udało mi się rozwiązać ten problem. Natknąłem się gdzieś na to (ale nie mogę sobie przypomnieć gdzie: chyba Google Groups), i było to związane z podobnym problemem. Otóż: Do pliku .htaccess w folderze app/webroot dodałem taką linijkę kodu: Kod RewriteBase / A w pliku index.php znajdującego się w tym samym folderze zmieniłem następujący kod: Kod if (!defined('WEBROOT_DIR')) { define('WEBROOT_DIR', basename(dirname(__FILE__))); } Na taki: Kod if (!defined('WEBROOT_DIR')) { define('WEBROOT_DIR', '/'); } I teraz jest OK. Ten post edytował kacperix 16.09.2006, 15:54:45 |
|
|
9.12.2006, 17:09:15
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 9.12.2006 Ostrzeżenie: (0%) |
Czyli kacperix olałeś napis "do not edit below this line" czy jakoś tak on brzmi
Miałem podobny problem. Okazało się, że to kwestia zawartości zmiennej środowiskowej PHP_SELF. Problem to chyba też po części rzecz związana z wyczesanym softem servera na home.pl bo na innych wszystko działało. Mnie pomogła zmiana tej linijki głównego pliku .htaccess (tego na samym topie struktury) z: RewriteRule ^$ app/webroot/ [L] na RewriteRule ^$ app/webroot/index.php [L] i to wszystko |
|
|
Wersja Lo-Fi | Aktualny czas: 10.06.2024 - 12:34 |