Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]URL w stylu katalogów
Forum PHP.pl > Forum > Przedszkole
konrados
Cześć,

Chodzi o to by server dał stronkę gdy url wygląda np. tak: stronka.com/tags/cos_tam
zamiast: stronka.com/tags.php?show=cos_tam

Już kiedyś o to pytałem:
http://forum.php.pl/index.php?showtopic=87874&hl=

I nawet się udało - bez zbędnych komplikacji. Gdy mam już plik w rodzaju tags.php to okazuje się, że bez zmian w .htaccess mogę dołożyć coś do url'a i to odczytać, więc nie ma problemu z url'em typu:
stronka.com/tags/cos_tam

Ale teraz
próbuję to samo zrobić dla strony głównej, czyli: stronka.com/cos_tam gdzie "cos_tam" to kwerenda i jest zmienna, konkretnie jest to login usera.

I nie wiem co teraz mam zrobić. Oczywiście ma się odpalić plik index.php który nastęnie zauważy że coś jest w url'u dodane - ale nie wiem jak skłonić apach'a by w ogóle otworzył plik index.php - coś pewnie muszę wstawić do .htaccess tak? Tylko co?

Jeśli nadmiernie skomplikowałem to tutaj w skrócie:
jest sobie index.php w katalogu głównym servera stronka.com - gdy user wpisze stronka.com/cos_tam w pasku adresu chcę by odpalił się index.php w owym katalogu głównym a z resztą sobie poradzę.
webdice
Nie wiem czy Cię dobrze zrozumiałem.

Kod
RewriteRule ^([^/]+)& index.php?var=$1


Poczytaj sobie o wyrażeniach regularnych bo będą Ci potrzebne.
konrados
Dzięki, ale nie działa... zrobiłem w .htaccess:


CODE

RewriteEngine On
Options +FollowSymLinks
RewriteRule ^([^/]+)& index.php?var=$1



I nadal widzę 404 gdy wchodzę na stronka.com/cos_tam. Może coś powinienem jeszcze dodać?

p.s. poczytam o wyrażeniach regularnych, ciągle to odkładam:) ale tutaj chyba jest raczej jakiś inny problem?
Legro
Takie linki idzie zalatwic za pomoca pathinfo" title="Zobacz w manualu PHP" target="_manual
konrados
Cytat
Takie linki idzie zalatwic za pomoca pathinfo

Tak, wiem - jak już server otworzy index.php to ja już sobie poradzę z sparsowaniem url'a - ale problem jest taki, że widzę 404 - brak pliku. Nie mam więc szansy skorzystania z pathinfo.

Metodą prób i błędów zrobiłem takie coś:

Kod
RewriteRule ^([a-z0-9]+)$ index.php/$1


I wygląda jakby działało ale nie mam pojęcia czemu. Czy dobrze to zrobiłem?
Legro
Cytat
I wygląda jakby działało ale nie mam pojęcia czemu.

yy..questionmark.gif

Kod
RewriteRule ^([a-z0-9]+)$ index.php?var=$1

questionmark.gif?
konrados
Cytat
RewriteRule ^([a-z0-9]+)$ index.php?var=$1

No to też działa:)
Moje działa być może w związku z jakimiś ustawieniami apacha - przekierowuje na "index.php/zmienna" i server nie pyskuje - daje tę stronę a w niej (w index.php) używam $_SERVER['PATH_INFO'] by wydobyć "zmienna" i jakoś tam działa.

Tylko cały czas nie wiem po co ten + (plus) za ] - wziąłem go z przykładu usera webdicepl, ale co tam, jak na razie działa ...

I tak oto po raz kolejny uniknąłem konieczności uczenia się wyrażeń regularnych smile.gif
webdice
Kod
([a-z0-9])


Znak z przedziału a - z oraz 0 - 9.

Kod
([a-z0-9]+)


Znaki z przedziału a - z oraz 0 - 9.
konrados
O, dzięki!
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-2024 Invision Power Services, Inc.