Lokalnie ( na serwerze lokalnym) działa ok ale jak wrzucam to na serwer to mam problem bo po kliknięciu kontakt następnie praca wygląda to tak
kontakt.htmlpraca.html czyli nic się nie uruchamia
Jestem noga a potrzebne mi niceurl jak można przerobić ten skryt tylko do wyświetlania podstron (bez bajerów)
<?php /** * Przykładowa klasa do obsługi ładnych urli * * @author Robert (nospor) Nodzewski (email: nospor at gmail dot com) **/ class NUrl { /** * * Bazowy url * @var string */ private $baseUrl; public function __construct($baseUrl = ''){ $this->baseUrl = $baseUrl; } /** * Dekoduje adres na zmienne GET */ public function Decode(){ $_pi = ''; //w zależności od serwera nasza scieżka może się znajdować pod innym indeksem $_pi = $_SERVER['PATH_INFO']; $_pi = $_SERVER['ORIG_PATH_INFO']; return true; } if ($count == 1 && substr($pathInfo, -5) == '.html'){//mamy moduł news. pathinfo jest więc postaci nazwa-newsa,id.html $_GET['module'] = 'news'; $_GET['action'] = 'show'; //pobieramy nazwę oraz id czyli pobieramy nazwa-newsa,id //dzielimy na nazwę i id $_GET['name'] = $na[0]; $_GET['id'] = $na[1]; return true; } //pierwsze dwa elementy to moduł i akcja $_GET['module'] = $arr[0]; $_GET['action'] = isset($arr[1]) ? $arr[1] : ''; //tu małe zabezpieczenie, gdyby ktoś zapomniał podać akcji //następne elementy to nazwy parametru i parametr i tak co dwa for ($i=2; $i < $count;$i+=2){ $_n = $arr[$i]; //nazwa parametru $_GET[$_n] = $_v; } return true; } /** * * Ścieżka w postaci module=moduł&action=akcja&par1=war1&par2=war2.... * @param string $path */ public function Url($path = null){ else foreach ($pars as $_param){ } $strRet = ''; if ($params['module'] == 'news' && $params['action'] == 'show'){ //moduł news akcja show zamienimy na link .html return $this->baseUrl.$params['name'].','.$params['id'].'.html'; } else { //każdy inny moduł leci standardowo modul/akcja/parametr/wartosc foreach ($params as $_key => $_val){ if ($_key == 'module' || $_key == 'action') $_key = ''; else $_key.='/'; $strRet.="$_key$_val/"; } } } } } ?>
w pliku index.php mam coś takiego
require_once('NUrl.class.php'); //bazowy url. Może to być np. <a href="http://mojastrona.pl/" target="_blank">http://mojastrona.pl/</a> //tutaj dla testów będę brał ścieżkę, którą określacie w linku $baseUrl = $_SERVER['REQUEST_URI']; if (!empty($_SERVER['PATH_INFO'])) //jeszcze trzeba z tego automatycznego $baseUrl wyciąć path_info. Gdy sami określać będziecie $baseUrl to ta wycinka będzie zbędna $baseUrl = substr($baseUrl,0, strpos($baseUrl,$_SERVER['PATH_INFO'])).'/'; //i jeszcze wywalę index.php jeśli się nam tu wstawił if (substr($baseUrl,-9) == 'index.php') $baseUrl = substr($baseUrl,0,-9); //stworzenie obiektu do generacji linków $nurl = new NUrl($baseUrl); //linki function controller(){ $module = $_GET['module']; $co=$_GET['name']; switch ($module){ case 'news': if ($_GET['action'] == 'show'){ if ($co== 'portfilio'){ include "includes/portfilio.php"; } if ($co== 'kontakt'){ include "includes/kontakt.php"; } if ($co== 'praca'){ include "includes/praca.php"; } if ($co== 'serwis'){ include "includes/serwis.php"; } if ($co== 'slayder'){ include "includes/slayder.php"; } if ($co== 'bannery'){ include "includes/mod_bannery.php"; } if ($co== 'filmy'){ include "includes/mod_filmy.php"; } } break; default: include "includes/slayder.php"; } }