![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 3.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam was , wiem koleiny temat , ale ja nie chce gotowca .Mam problem i bym chciał żebyście mi pomogli ,otóż chce do swojego cmsa zrobić przyjazne urle http://mojasite/cos=?/i coś tam dalej , ogólnie zęby były tak przejrzyste jak w wordpress czy w innych gotowcach .Jak zrobić takie urle ? jak sie za to zabrać proszę o wskazówki ?
Zawsze przy małych stronach korzystałem z switch ale chyba już sie nie używa tego sposobu? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 165 Pomógł: 9 Dołączył: 9.04.2002 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Aby korzystać z przyjaznych adresów url musisz mieć na serwerze zainstalowany moduł serwera apache mod_rewrite który za to odpowiada, musisz mieć plik .htaccess a katalogu głównym w którym definiujesz wygląd swoich adresów, np:
Kod RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/]+),([^/]+).html$ index.php?section=$1&sub=$2 [L,QSA] normalnie adres wygląda tak: domena.pl/index.php?section=ala&sub=kot a przyjazny url: domena.pl/ala,kot.html prawda że ślicznie ![]() w kodzie php nic nie musisz zmieniać, odwołujesz się do zmiennych jak cały czas, więc w tym przypadku $_GET["section"] da nam ala itd pozdrawiam, Łukasz Ten post edytował kossa 22.08.2007, 14:04:49 -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 206 Pomógł: 18 Dołączył: 6.03.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
jest kilka drog:
1. PATH_INFO jezeli nie masz mod_rewrite w Apacheu (wzglednie analogicznego mechanizmu w innym daemonie) to musisz korzystac z $_SERVER['PATH_INFO']. tyle ze wtedy tez server musi byc skonfigurowany tak, zeby przekazywac do twojego pliku zapytrania do nie istniejacych plikow. na przyklad: Kod http://example.com/newsy/tytul_newsa byloby przekazane do index.php w polu $_SERVER['PATH_INFO'] jako /newsy/tywul_newsa (zwroc uwage na poczatkowy slash!, po wykonaniu explode('/', $_SERVER['PATH_INFO']) pierwsze pole wyniku bedzie puste!). 2. mod_rewrite + wszystko w .htaccess jesli masz mod_rewrite (w przypadku Apachea, na innych serverach inaczej sie to moze nazywac, ale chodzi o efekt) to poczytaj o konfiguracji mod_rewrite przez pliki .htaccess (RewriteEngine, RewriteRule powinny ci starczyc, wzglednie RewriteBase i RewriteCond moga sie przydac). wtedy po prsotu tworzysz sobie liste przypisanych URLi, na przyklad: Kod RewriteEngine On RewriteRule ^newsy/(.+)$ /news.php?tytul=$1 (trzeba znac wyrazenia regularne). zwroc uwage, ze zapytania sa bez poczatkowego slasha!, a nadpisane sciezki sa pelna sciezka zapytania, wiec moga (a nawet powinny) zawierac slash na poczatku, zeby powiedziec, ze odnosi sie to bezposrednio do lokalizacji w DocumentRoot twojego hosta. 3. mod_rewrite + przetwarzanie w PHP chyba najbardziej elastyczna metoda i moja ulubiona. tworzysz plik .htaccess w ktorym przepisujesz wszystkie zapytania (z wyjatkiem powiedzmy wykluczonych sciezek do styli, obrazko, pikow .js i tak dalej...) do swojego skryptu PHP, ktory moze w dowolny (czytaj - bardziej elastyczny niz sam .htaccess) wykonywac akcje bazujac na przekazanej sciezce. przyklad: Kod RewriteEngine On RewriteCond %{REQUEST_URI} !^/index.php$ RewriteCond %{REQUEST_URI} !^/images/ RewriteCond %{REQUEST_URI} !^/upload/ RewriteRule ^(.*)$ /index.php?run=$1 [L] tutaj juz RewriteCond bedzie niezbedny. zworc tez uwage na druga linijke i argumenty do ostatniej z nich - sa niezbedne aby zapobiec zapetleniu! to tyle na szybko, a dla szczegolow to poszukaj, takie rzeczy byly na forum nie raz a o PATH_INFO jest nawet art na php.pl. -------------------- Wrzasq.pl
Tworzenie stron i aplikacji internetowych. Chillout Development - tworzenie stron i aplikacji internetowych. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 28.06.2025 - 17:14 |