Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ładne adresy bez apacha i jakiejkolwiek konfiguracji serwera
Forum PHP.pl > Forum > PHP
statek
Witam,
od razu mówię, że przejrzałem masę wątków o ładnych adresach. Ale dotyczą one konfiguracji apacha i jego rozszerzeń. A ja nie mogę skorzystać z apacha i nie mogę użyć tych rozwiązań. Dlatego pytam jak poprawić wygląd adresów przy pomocy samego php, bez korzystania z konfiguracji serwera. Czy to się da zrobić, jak? Proszę o pomoc.



Pozdrawiam.
patryczakowy
a to czytałeś?
em1X
Cytat(patryczakowy @ 21.06.2009, 19:32:43 ) *
a to czytałeś?


przecież napisał, że nie może używać konfiguracji apacha
Crozin
Możesz zrobić tak, że wszystkie linki prowadzą do: domena/index.php?xxx (efentualnie domena/?xxx), gdzie XXX to Twój dowolny sposób formatowania linku. Następnie w index.php odczytujesz query_string (tablica $_SERVER) i na tej podstawie możesz obsłużyć żądanie.
statek
Crozin dzięki! Jeśli dobrze rozumiem, to tworze linki typu www.strona.com/index.php?string1/string2/string3 potem odczytuje z adresu to co jest po znaku zapytania. Używam explode i mam kolejne wartości. O to chodzi? A da się jeszcze jakoś usunąć ten index.php? Pisałeś, że ewentualnie mogę mieć adresy typu www.strona.com/?string1/string2/string3 ale jak to zrobić? I może jeszcze jakoś usunąć ten znak zapytania się da?
mike
Cytat(statek @ 21.06.2009, 21:31:17 ) *
Crozin dzięki! Jeśli dobrze rozumiem, to tworze linki typu www.strona.com/index.php?string1/string2/string3 potem odczytuje z adresu to co jest po znaku zapytania. Używam explode i mam kolejne wartości. O to chodzi?
Tak.
Cytat(statek @ 21.06.2009, 21:31:17 ) *
A da się jeszcze jakoś usunąć ten index.php? Pisałeś, że ewentualnie mogę mieć adresy typu www.strona.com/?string1/string2/string3 ale jak to zrobić?
Nic nie musisz robić. Plik index.php jest automatycznie uruchamiany , więc wystarczy, że dasz znak zapytania i parametry.
Cytat(statek @ 21.06.2009, 21:31:17 ) *
I może jeszcze jakoś usunąć ten znak zapytania się da?
I tego właśnie nie da się zrobić bez dostępu do Apache'a.
dr_bonzo
@statek: Mozna to tez na innych serwerach zrobic, tylko fajnie byloby jakbys jego nazwe podal.
statek
iis 6 albo jeszcze starszy nie pamiętam teraz.
dr_bonzo
http://www.google.com/search?client=opera&...-8&oe=utf-8 i szukaj moze da sie na IIS
a nie mozesz zmienic serwera?
#luq
Do tego ca napisał @Crozin:
Na początku zaznaczam, że jestem na pewno mniej doświadczony niż koledzy wypowiadający się wyżej, także jeśli piszę jakieś głupoty, to proszę o sprostowanie.

Ja aktualnie sprawę przyjaznych URLi rozwiązuje w taki sposób:

.htaccess (na IISie się nie znam, ale tam Mod Rewrite nosi nazwę ISAPI_Rewrite)
Kod
RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php

A więc tak jak w ZF

Następnie zwykłe klasy Router oraz Dispacher. Czytanie z $_SERVER linka dzielenie tego na controller, action oraz parms, uruchamianie odpowiedniej klasy kontrolera. Czyli dokładnie tak jak piszę @Crozin i szczerze nie przypominam sobie żebym coś w ustawieniach samego Apacha zmieniał a znaku ? nie mam w linkach.
Kod
www.strona.pl/controller/action/param1/param2


Na localu śmiga, na serwerze klienta tak samo, a u niego na pewno nie grzebałem nic w ustawieniach serwa.
Szczerze powiedziawszy to nie wiem o jakich ustawieniach mowa, bo nie spotkałem się z takim sposobem przyjaznych URLi.
statek
Serwera nie bardzo mogę zmienić, bo taki jest w firmie i na takim mogę trzymać swoją stronę. A to co znalazłem w googlach to albo jest płatne albo dla nowszych wersji serwera. No nic trudno, ale dziękuję bardzo za dobre chęci. dr_bonzo powiedz czy wiesz jak ładować bazę danych z pliku tekstowego do sqlite? Bo sqlite pracuje na pliku binarnym a ja tworzę bazę danych trochę automatycznie skryptami i wrzucam ją do pliku tekstowego, co niezmiernie mi pasuje. Ale chciałbym to potem wrzucić do sqlite, jak to zrobić? Pozdrawiam.
lukasamd
IMO warto jeszcze sprawdzać co zawiera $_SERVER['REQUEST_URI'] i w razie ciągu z plikiem php robić przekierowanie 301 na "ładny adres" - można w ten sposób uniknąć duplicate content (jeżeli startujemy od 0 z serwisem to niby roboty nie powinny zdobyć oryginalnego adresu, ale lepiej zawsze się zabezpieczyć).
dr_bonzo
Cytat
dr_bonzo powiedz czy wiesz jak ładować bazę danych z pliku tekstowego do sqlite? Bo sqlite pracuje na pliku binarnym a ja tworzę bazę danych trochę automatycznie skryptami i wrzucam ją do pliku tekstowego, co niezmiernie mi pasuje. Ale chciałbym to potem wrzucić do sqlite, jak to zrobić?

Nie uzywalem nigdy sqlite ale na pewno zrobisz to zwyklymi INSERTami, moze ma tez jakis import z CSV - ale znam formatu twojego pliku.
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.