Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]URL w stylu katalogów, czyli stronka.com/john_smith
konrados
post 10.05.2008, 19:02:21
Post #1





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


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ę.
Go to the top of the page
+Quote Post
webdice
post 10.05.2008, 19:06:14
Post #2


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Nie wiem czy Cię dobrze zrozumiałem.

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


Poczytaj sobie o wyrażeniach regularnych bo będą Ci potrzebne.
Go to the top of the page
+Quote Post
konrados
post 11.05.2008, 12:05:28
Post #3





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


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?
Go to the top of the page
+Quote Post
Legro
post 11.05.2008, 12:51:35
Post #4





Grupa: Zarejestrowani
Postów: 233
Pomógł: 3
Dołączył: 18.07.2005

Ostrzeżenie: (40%)
XX---


Takie linki idzie zalatwic za pomoca pathinfo" title="Zobacz w manualu PHP" target="_manual

Ten post edytował Legro 11.05.2008, 12:51:47


--------------------
nospor - jestem z Wami !!!
Go to the top of the page
+Quote Post
konrados
post 11.05.2008, 13:48:55
Post #5





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


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?
Go to the top of the page
+Quote Post
Legro
post 11.05.2008, 15:39:43
Post #6





Grupa: Zarejestrowani
Postów: 233
Pomógł: 3
Dołączył: 18.07.2005

Ostrzeżenie: (40%)
XX---


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?


--------------------
nospor - jestem z Wami !!!
Go to the top of the page
+Quote Post
konrados
post 11.05.2008, 15:49:15
Post #7





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


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
Go to the top of the page
+Quote Post
webdice
post 11.05.2008, 16:02:40
Post #8


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




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.
Go to the top of the page
+Quote Post
konrados
post 11.05.2008, 16:12:05
Post #9





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


O, dzięki!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.04.2024 - 10:28