Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> index.php/news/pokaz_news/x na /news/pokaz_news/x, .htaccess
Wicko
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 30.07.2005

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


Witam! Cala tresc jest w sumie opisana w temacie.
Do tej pory na stronie mialem index.php/news/blabla, a chcialbym usunac z linkow index.php tak, zeby zostalo samo /news/blabla.

Z tym, że to musi być automatyczne, nie ma mowy o recznym definiowaniu.

Ten post edytował Wicko 19.11.2008, 21:34:33
Go to the top of the page
+Quote Post
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Temat Nice Url's jest dość popularny na forum.
Dodatkowo zapoznaj się z artykułem Przyjazne URLe.
Z tą wiedzą będziesz mógł rozwiązać swój problem lub pytać dalej tongue.gif
Go to the top of the page
+Quote Post
NuLL
post
Post #3





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


Z ktorej zmiennej w $_SERVER korzystales do wyciagania adresu ?


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
chmolu
post
Post #4





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 8.10.2004

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


Z PATH_INFO nie da rady. Musisz skorzystać z mod_rewrite i kierować wszystkie requesty do jednego pliku (np. index.php).

Kod
RewriteEngine On
RewriteRule !^(templates|upload) index.php


Później odpowiednia działania na $_SERVER['REQUEST_URI'] i masz ładne urle winksmiley.jpg
Go to the top of the page
+Quote Post
Wicko
post
Post #5





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 30.07.2005

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


hm, jakie to mialyby byc dzialania?

uzywalem wlasnie PATH_INFO, i wiem ze z tym sie nie da osiagnac efektu ktorego pozadam smile.gif

natomiast z htaccess jestem dosc zielony i dlatego nie wiem czy to moze byc automatycznie

do tej pory mam wszystko automatycznie.. index.php/galeria includowal galeria.php

i chcialbym tylko wpis w .htaccess zeby /galeria zamienial na index.php..

ale nalezy zrwocic uwage ze to moze byc dluzsze, np /galeria/_kategoria_/_strona_ :/

uh.. widze ze zle to tlumacze biggrin.gif

oto moj kod odpowiedzialny za includowanie stron:

  1. <?php
  2.  
  3. $znak='/';
  4. $site = array();
  5. $strDefaultPath = $znak.'news';
  6. $x=explode($znak, $_SERVER['PATH_INFO']);
  7. if (!isset( $_SERVER['PATH_INFO'] ) || $_SERVER['PATH_INFO']=='/' || $x[1]=='styl' ) { 
  8. $_SERVER['PATH_INFO'] = $strDefaultPath; 
  9. $y=$x[2];
  10. }
  11. $site = explode( $znak, substr( $_SERVER['PATH_INFO'], 1) );
  12. // [..]
  13. if(!isset($body)) {
  14.  $strPage = str_replace( array( '..', '/' ), '', $site[0] );
  15.  if( stristr( $strPage, '://' ) !== false ) {
  16. include('FILES/php/404.php');
  17.  } else {
  18.  $strNazwaFunkcji = 'page_'. $site[0];
  19. $objPlugin = $plugin ->p[$site[0]];
  20. if(file_exists('FILES/php/'.$site[0].'.php')) {
  21. include('FILES/php/'.$site[0].'.php');
  22. } elseif ( is_callable( array( $objPlugin, $strNazwaFunkcji ) ) ) { 
  23. $plugin->p[$site[0]]->$strNazwaFunkcji();
  24. } else {
  25. include('FILES/php/404.php');
  26. }
  27. }
  28. }
  29. ?>


rozumiecie? biggrin.gif nie mam plikow galeria.php obok index.php, tylko galeria.php zmienia zawartosc w pewnym miejscu template ( %BODY% )

[ robione na podstawie arta z php.pl ;-) ]

o, powiem moze tak...

moze fajniej byloby gdyby www.domena.pl/x bylo zamieniane na www.domena.pl/index.php/x ? biggrin.gif

Ten post edytował Wicko 22.10.2005, 21:23:16
Go to the top of the page
+Quote Post
chmolu
post
Post #6





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 8.10.2004

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


Zastosowanie pliku, który podałem wyżej sprawi, że niezależnie, czy podasz:
http://site.com/artykuly
http://site.com/forum
http://site.com/news/internet

to i tak za każdym razem wywołany zostanie plik index.php. Musisz tylko wyczytać $_SERVER['REQUEST_URI'] i na jego podstawie wywołać odpowiednią stronę. Kombinuj, człowieku.
Go to the top of the page
+Quote Post
Wicko
post
Post #7





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 30.07.2005

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


dzieki, juz prawie rozumiem, z tym ze po zapodaniu tego .htaccess wyskakuje blad 500 ( wew. blad serwera ) ;D
Go to the top of the page
+Quote Post
Lars
post
Post #8





Grupa: Zarejestrowani
Postów: 279
Pomógł: 15
Dołączył: 29.04.2005
Skąd: Gdynia

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


Cytat(Wicko @ 2005-10-22 21:01:56)
dzieki, juz prawie rozumiem, z tym ze po zapodaniu tego .htaccess wyskakuje blad 500 ( wew. blad serwera ) ;D

serwer nie obsługuje .htaccess lub mod_rewrite tongue.gif


--------------------
(\.../) This is Bunny. Copy and paste bunny into
(O.o) your signature to help him gain world domination.
(> <) Zanim zapytasz | Też się przyda | Pomogłem ci? Kliknij "Pomógł"
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 Aktualny czas: 20.08.2025 - 23:25