Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: nice url z przecinkami
Forum PHP.pl > Forum > Przedszkole
camikazee
Witam!

Od jakiegos czasu chcialem zastosowac w praktyce mozliwosci nice url. Zbudowalem szereg skryptow na ogolnie przyjetych wzorcach. Moje pytanie dotyczy jak zrobic takie cos http://adresstrony.pl/artykuly,15.html dla przykladu. Podkreslam, ze nie chodzi mi o http://adresstrony.pl/artykuly/15.html. Wszystkie paremetry by byly przecinkiem oddzialene, lacznie z pierwszym.
Uzywajac w praktyce tego drugiego linku mialem problem z tym, ze w pewnych przypadkach na tym przykladzie http://adresstrony.pl/artykuly/ "artykuly" byl traktowany jako katalog. Zreszta musze index.php nazwac jako index bez rozszerzenia, bo inaczejmi nie dziala.
Moj .htaccess
Kod
<Files index>  
ForceType application/x-httpd-php
</Files>


Wiem, ze troche zamotalem moj temat, ale mzoe ktos mi pomoze smile.gif
SongoQ
Tysiace razy na forum szukaj szukaj - mala podpowiedz mod_rewrite
camikazee
smile.gif wielkie dzieki juz troche poczytalem i poprobowalem. Zrobilem np przykladowy skrypt
.htaccess
Kod
RewriteEngine on
RewriteRule ^([0-9A-Za-z]{2,10}).html$ index.php?go=$1

W tym momencie plik news.html roznowazny jest z index.php?go=news, ale np jak chce wiecej parametrow pzrekazac tyo albo musialbym podawac zmienna i jej wartosc jak na przykladzie
Kod
RewriteEngine On
RewriteRule (.+),(.+),(.+) $1&$2=$3 [QSA,N]
RewriteRule (.+),(.+)\.html $1.php?$2

Problem jest gdy np w pliku news.php mial kolejne rozne zmienne od np artykuly.php. Alternatywa byloby dopisywanie kolejnych linii do .htaccess. Ja chcialbym cos uniwersalnego, by byl htaccess raz zaspisany i nieruszany. Na siemesniak.pl np. jest taki motyw, ze:
http://siemensiak.pl/artykuly,simlock,str2.html - stronicowanie
http://siemensiak.pl/artykuly,simlock,w,si...,testpoint.html - nazwa artykulu
Jak widac na 3 pozycji mamy dwa rozne parametry albo stronicowanie albo nazwe artykulu. Czy to jest kazda osobna linia w .htaccess dla kazdego linku, czy moze jakis uniwersalny ciag? Moze ktos robil cos podobnego?
cyphelf
Witam,

Wyjściem może być przekierowanie wszystkiego prócz mediów na index.php:

Kod
RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css|swf)$ index.php


Parametry odbierałoby się już w php. To chyba najbardziej elastyczne rozwiązanie.

Pozdrawiam,
Wojtek
camikazee
Nie wiem czemua le albo zle robie albo mi funkcja $_SERVER['PATH_INFO'] nie dziala sad.gif
Uzylem wiec REQUEST_URL tworzac prymitywny skrypcik
Kod
function get_url()
    {
    $url=$_SERVER['REQUEST_URI'];
    $url=str_replace('/', '', $url);
    $tablica=explode('.', $url);
    $tablica=explode(',', $tablica[0]);
    return $tablica;
    }


do .htaccess wrzucilem

Kod
RewriteEngine On
RewriteRule ^(.*)\.html /index.php?go=$1


i dziala tak jak chcialem smile.gif
Pierwszy parametr, to zawsze includowana podstrona, reszta parametrow zas jest indywidualnie rozpatrywana pzrez kazda podstrone. htaccess jest niezalezny od nowych modulow.
Dziekuje wszyszystkim a pomoc smile.gif
Chybaze ktos ma jeszce jakies pomysly, sugestie?snitch.gif
dyktek
mod_rewrite - generator dla leniwych tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.