Autor | Zpráva | ||
---|---|---|---|
kopi Profil |
Zdravím,
potřebuju upravit cizí web a nevím si rady s funkcí na zjištění stránky a předáním parametru. Web je strukturová do tří složek (web, smartphone, mobile) v kořenu je soubor index.php, který detekuje zařízení, ze kterého je web otevírán a podle toho podstrčí složku. Ukážu na kodu: <? include "app/config.php"; include "app/detect.php"; if ($page_name=='') { include $browser_t.'/index.php'; } elseif ($page_name=='index.html') { include $browser_t.'/index.php'; } elseif ($page_name=='login.html') { include $browser_t.'/login.php'; } elseif ($page_name=='register.html') { include $browser_t.'/register.php'; } elseif ($page_name=='detail.html') { include $browser_t.'/detail.php'; } elseif ($page_name=='kategorie.html') { include $browser_t.'/kategorie.php'; } elseif ($page_name=='contact-post.html') { include $browser_t.'/contact.html'; include 'app/contact.php'; } else { include $browser_t.'/404.html'; } ?> V proměnné $browser_t je uložený název složky pro zařízení - tedy buď web, smartphone nebo mobile. Stránky jako index, login,register,detail,kategorie atd jsou ve všech složkách stejné. funkce pro $page_name je: $current_page_uri = $_SERVER['REQUEST_URI']; $part_url = explode("/", $current_page_uri); $page_name = end($part_url); Tohle všechno funguje, ale problém nastane, když v url je index.html?id=3, podstrčí to stránku index.php. Když dám, aby podstrčená stránka byla stejná jako je v url, tka to hodí chybu 404, protože takový soubor neexistuje. Zkrátka musím nějak rozlišit, co je stránka (končí .html a co jsou už parametry - vše za .html). Žádné .htaccess tam není. Poradíte mi někdo, jak to přepsat, aby to bralo i parametry v url? Mě napadlo jen to, že nějakým způsobem rozdělit url na to, co je před ? a co za ? (nevím ale jak) a to za otazníkem by se ignorovalo. Je to blbost? Děkuju. |
||
Časová prodleva: 4 dny
|
|||
Davex Profil |
#2 · Zasláno: 25. 7. 2016, 23:30:12
kopi:
„Mě napadlo jen to, že nějakým způsobem rozdělit url na to, co je před ? a co za ? (nevím ale jak) a to za otazníkem by se ignorovalo.“ Zkus něco takového: $page_name = basename(parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH)); |
||
Časová prodleva: 8 let
|
0