Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> mod_rewrite, bardziej skomplikowanie
kipero
post
Post #1





Grupa: Zarejestrowani
Postów: 233
Pomógł: 50
Dołączył: 28.10.2006
Skąd: Radom

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


Witam.
Chcę na jednym serwerze zamieścić cztery rożne strony na dwóch CMSach. Chciałbym po wejściu na stronę:
Kod
http://www.strona.pl/strona/login/docelowy_plik.php

wczytać lokalizację tego CMSa z bazy danych.
Gdybym wiedział, że będzie to:
Kod
http://www.strona.pl/strona.php?id=login

to wpisałbym tak:
Kod
RewriteEngine On
RewriteRule strona/([a-zA-Z]+) /strona.php?id=$1

Problem, w tym, ze ścieżka do skryptu będzie zmienna. Jak rozwiązać ten problem i wczytać potrzebne informacje z bazy danych? Może da się to jakoś zrobić w pliku .htaccess?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
cadavre
post
Post #2





Grupa: Zarejestrowani
Postów: 472
Pomógł: 7
Dołączył: 7.12.2005
Skąd: Gliwice

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


Jeśli argument "login" chcesz przekazać do docelowy_plik to tak:
Kod
RewriteRule strona/([a-zA-Z]+)/login/(.+\..+) /$2?login=$1
Go to the top of the page
+Quote Post
kipero
post
Post #3





Grupa: Zarejestrowani
Postów: 233
Pomógł: 50
Dołączył: 28.10.2006
Skąd: Radom

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


Może trochę źle wytłumaczyłem.
Chodzi mi o to, ze po wejściu na stronę
http://www.strona.pl/marek
skrypt pobierze z bazy danych informacje o katalogu, do którego ma przekierować.
Oto przykładowa tabela:
Kod
id | login | folder
-------------------------------
1  | marek | joomla
2  | piotr | phpnuke

Po pobraniu danych user zostaje przekierowany do strony:
http://www.strona.pl/joomla
ale adres w przeglądarce pozostaje taki sam.
Da się to zrobić? Nie chcę używac funkcji header() ani ramek bo będzie widać ścieżkę docelową, a tego chcę uniknąć.

Ten post edytował kipero 12.01.2007, 15:22:14
Go to the top of the page
+Quote Post
cadavre
post
Post #4





Grupa: Zarejestrowani
Postów: 472
Pomógł: 7
Dołączył: 7.12.2005
Skąd: Gliwice

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


Jeśli adres na pasku ma pozostać to fizycznie jedynie ramką - to najprostsze rozwiązanie. Możesz stworzyć też plik (kontroler), który odczyta z bazy jakiego CMSa użyć i załaduje go np. CURLem(?).
Go to the top of the page
+Quote Post
Turgon
post
Post #5





Grupa: Zarejestrowani
Postów: 800
Pomógł: 0
Dołączył: 26.11.2005
Skąd: Nowy Sącz

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


Nie warto ;] ... Lepiej dodawać do .htaccess dodatkowe pozycje (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
kipero
post
Post #6





Grupa: Zarejestrowani
Postów: 233
Pomógł: 50
Dołączył: 28.10.2006
Skąd: Radom

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


Może tak, ale przy 200 cmsach rozmiary pliku .htaccess mogą być bardzo duże. Nie zwiększy to w znaczącym stopniu czasu ładowania stron?
Go to the top of the page
+Quote Post

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: 24.08.2025 - 13:35