Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pomysł na Przyjazne Linki
Avatarus
post
Post #1





Grupa: Zarejestrowani
Postów: 304
Pomógł: 0
Dołączył: 12.12.2006
Skąd: Pszów

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


Witam
Ostatnio poproszono mnie o zrobienie systemu Przyjaznych linków w CMSie.
Zrobiłem to tak jak ja to sobie wyobraziłem, ale nie wiem czy jest to zrobione poprawnie. Tzn działać działa, tylko czy poprawnym sposobem to zrobiłem.

Oto strona na której zrobiłem te przyjazne linki: www.aiononline.home.pl
w cmsie można dodawać artykuły itp...no i są do nich tworzone linki
np: http://www.aiononline.home.pl/index.php?teksty=41
Wyświetla wybrany artykuł. Po dodaniu przyjaznych linków można się dostać do artykułu przez link:
http://www.aiononline.home.pl/cryengine.php

Jak to działa? Otóż w główny katalogu są tworzone pliki o takich nazwach jak tytuł artykuły. Oczywiście bez polskich i znaków specjalnych.
Ten plik posiada tylko odwołania do plików z szkieletami strony. Czyli łączy wszystkie części indexu no i dodaje art.
Pliki są bardzo mało, no ale niestety minusem tej metody jest to że w katalogu głównym tworzy się sporo plików...

Czy macie jakiś lepszy pomysł jak lepiej rozwiązać problem przyjaznych linków?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
.radex
post
Post #2





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

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


Ja to robię tak:
.htaccess:
Kod
RewriteEngine on
RewriteCond $1 !^(index\.php|uploads|robots\.txt|cms) # <- tutaj pliki ktore sie nie liczą
RewriteRule ^(.*)$ /index.php/$1 [L]


A w index.php mniej więcej coś takiego (pisane od ręki):

Kod
$path = $_SERVER['PATH_INFO'];
$path = explode('/',$path);
foreach($path as $segment){
    if(!empty($segment))
        $path[] = $segment;
}


oczywiście do tego dochodzi sprawdzenie znaków (dozwalam tylko A-Z a-z 0-9 +-_ )

Takie rozwiązanie jest najelastyczniejsze, bo nie musimy sie martwić ograniczeniami mod_rewrite...
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: 8.10.2025 - 09:20