Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] problem z katalogami przy przyjaznych linkach
adam_pm
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 19.10.2008

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


Witam.

Postanowiłem zapytać na forum, gdyż w internecie nie potrafiłem znaleźć odpowiedzi na mój problem. Jestem w sumie samoukiem jeśli chodzi o php, tak więc nie znam większości pojęć i ciężko mi cokolwiek znależć. Prosiłbym o napisanie np. o czym mógłbym szukać, aby rozwiązać problem.

Znalazłem jedynie http://forum.php.pl/index.php?showtopic=77618&hl=slash ale nie dało to odpowiedzi na mój problem


A co do samego problemu, to chodzi mi o to, że gdy użyję mod rewrite do przepisania adresu 11,jakis-adres.html >> index.php?adres=11,jakis-adres to jest wszystko ok, ale ja chciałbym dodać do strony możliwość wyboru języka, po czym adres miałby wyglądać np. en/11,jakis-adres.html i przepisywać na index.php?adres=11,jakis-adres&lang=en. Wszystko jest w porządku, przepisuje świetnie, ale w przypadku użycia języka wszystkie odwołania do katalogów szaleją i chcą brać pliki w tym przypadku z folderu en. Mógłbym sprawdzać, czy jest wybrany język i wtedy dodawać do odwołań ../ ale to chyba nie za dobre rozwiązanie, a do tego mało wygodne. Chciałbym także umieć tworzyć adresy typu en/gallery/5-cat.html z pominięciem mojego problemu.

W podanym przeze mnie linku jest rozwiązanie tego poprzez użycie <base href... ale ja chciałbym, aby było to uniwersalne i działało niezależnie od miejsca, na którym się znajduje.

Czy jest na to jakiś sposób? W ostateczności poradzę sobię sprawdzając ile jest takich niby katalogów i dodam tyle ../ ale wolałbym wykonać to jednak w sposób cywilizowany, a sądzę, że są tu ludzie o wiele bardziej zaznajomieni z tematem niż ja i będą w stanie mi pomóc. Wystarczy mi, jeśli podpowiecie, w jakich okolicach miałbym szukać, albo dacie nazwę polecenia, to już postaram się poradzić sam.


Pozdrawiam serdecznie
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kamson
post
Post #2





Grupa: Zarejestrowani
Postów: 57
Pomógł: 3
Dołączył: 23.10.2006
Skąd: Warszawa

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


Nie wiem dokładnie czy o to chodzi... najprościej jest wszystkie zapytania kierować do jednego pliku np index.php a potem w nim analizować _SERVER["REQUEST_URI"]

do tego musisz wykorzystać .htaccess
Kod
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>


i teraz wywołując adres www.twojastrona.pl/en/gallery/5-cat.html tak naprawdę wywołany zostanie ndex.php.
Następnie:
  1. <?php
  2. $bloki = explode('/',$_SERVER["REQUEST_URI"]);
  3.  
  4. $jezyk = $bloki[0]; // en
  5. $akcja = $bloki[1]; // gallery
  6. $parametr = $bloki[2]; // 5-cat.html
  7. ?>


dodatkowo odpowiednimi funkcjami można usunąć .html z końca _SERVER["REQUEST_URI"] itd itd... to tylko zamysł działania.

.htaccess przekierowuje do index.php tylko żądania do plików/katalogów nie istniejących na serwerze dzięki czemu nie zakłóca odwołań do statycznych plików witryny np style czy zdjęcia.

Ten post edytował Kamson 19.10.2008, 14:38:03
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: 29.12.2025 - 21:16