Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ForceType - trochę inaczej?
Forum PHP.pl > Forum > PHP
krysk
Witam,

jestem świeżo po analizie tekstu z strony (Artykuły > Pomysły, porady i sugestie > Przyjazne URLe), lecz ciekawi mnie jedna rzecz - czy mogę zrobić tak, by odwoływać się bezpośrednio do indeksu?

chciałbym aby linki wyglądały np. tak: mojadomena.com/sklep, mojadomena.com/onas itd. a w zmiennej było owe sklep, onas


Pewnie ciężko mnie zrozumieć ale nie potrafię prościej napisać :/
minuit
zebym dobrze Cie zrozumial, chodzi Ci oto by:
mojadomena.com/sklep bądż mojadomena.com/onas odwoływały się do index.php , oba ?
krysk
Dokładnie tak.
bela
google: mod_rewrite winksmiley.jpg

--
BTW przydałby się na forum vol2 tag [google] tongue.gif
minuit
jest pare opcji:
- ta ktorą podał bela_666
- wpis w .htaccess: ErrorDocument 404 ./index.php
- no albo katalogi a w nich index.php z : header ("Location: ./index.php");
krysk
Dzięki wielkie.

Chyba sposób minuit będzie najlepszym wyborem - nie będę uzależniony od serwera.
sesuo
Witam

Jak zrobic cos takiego:

plik news.php i zeby link wygladal localhost/news,more,123

z czego w linku news to nazwa pliku ktory jest aktualnie odczytywany.

Z góry dzieki. pozdrawiam
minuit
Cytat(sesuo @ 2005-03-18 21:13:11)
Witam

Jak zrobic cos takiego:

plik news.php i zeby link wygladal localhost/news,more,123

z czego w linku news to nazwa pliku ktory jest aktualnie odczytywany.

Z góry dzieki. pozdrawiam

masz parę wyjść, jedno jest opisane w tym artykule

kolejne to np. za pomoca stron bledow (podobnie jak pisalem w poście powyzej), tzn. musisz stworzysz plik ktory bedzie obslugiwal strony bledow, musisz takze umiescici odpowiedni wpis w .htaccess np. ErrorDocument 404 ./error.php.
Teraz, w rym pliku musisz stworzyc odpowiedni skrypt ktorego zadaniem bedzie zczytanie aktualnego url $_SERVER['REQUEST_URI'] (czyli w Twoim przykladzie bedzie to /news,more,123) nastepnie traktujesz to explodem: explode(",", $_SERVER['REQUEST_URI']) i np. zapisujesz do tablicy.
Ostatnim krokiem jest odpowiednie zinterpretowanie tej tablicy, czyli np. includujesz plik news.php z odpowienimi zmiennymi.


pozdrawiam
sesuo
no nie wiem kurde cos mi to nie dziala :/ probowalem na rozne sposoby ale w wszystkich musialo byc localhost/news/cos,cos2 gdzie news to plik news.php. jakbys mogl wykonac ten skrypcik to bylbym bardzo wdzieczny. aha i czy takie rozwiazanie dzialalo by na kazdych serwerach?
minuit
  1. <?php
  2. header(&#092;"HTTP/1.1 200 OK\");
  3. $url_array = explode(&#092;"/\",$REQUEST_URI);
  4.  
  5. $kategoria = $url_array[1];
  6. $dzial = $url_array[2];
  7. $temat = $url_array[3];
  8.  
  9. include_once &#092;"./\".$kategoria.\"/\".$dzial.\"/\".$temat.\".php\";
  10.  
  11. ?>


to jest przykladowy skrypcik (nie optymalny), przydaloby sie dopisac pare funkcji sprawdzajacych to co dostajemy w url, żeby ktoś nam kuku nie zrobił smile.gif

Oczywiście dodatkowo musi byc wpis w .htaccess taki jak podałem parę postów wyżej.

Co do działania tej metody ? to będzie działać na wszystkich serwerach na których da się zdefiniować własne strony błędów.
krysk
No to ja Wam powiem, że jakiś mało rozumny jestem.

Mój .htaccess
Kod
ErrorDocument 404 /index.php


Odsyła mnie to strony głównej serwera. Przy ./index.php wywala mi, że błąd składni w pliku. Ścieżka bezwzględna? To samo. Zrobiłem na te potrzeby virtualkę, dalej odwołuje się do strony głównej serwera. Moja inwencja twórcza już się skończyła.

wpis w httpd.conf:

Kod
<VirtualHost 195.135.236.212>
   DocumentRoot /home/degustator/public_html/
   ServerPath /home/degustator/pubic_html/
   ServerName degustator.mieszko.xin.pl
</VirtualHost>
sesuo
Podaj cala sciezke do pliku

ErrorDocument 404 http://localhost/index.php

a u ciebie chyba

ErrorDocument 404 http://localhost/~twoj_folder/index.php
krysk
Przekierowuje wtedy i w $_SERVER['REQUEST_URI'] mam /index.php - odpada.


Okej, przesiądę się jednak na Rewrite - będę musiał to jednak wziąść później pod uwagę przy wyborze serwera.

Pytanie tylko jak stworzyć regułkę by akceptował odwołania do jednego katalogu i jego podkatalogów. Mój aktualny .htaccess
Kod
RewriteEngine on
RewriteRule ^(templates).*$ /home/degustator/public_html/$1 [l]
RewriteRule ^.*$ /home/degustator/public_html/index.php [l]
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.