PHP - pekne URL

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

parka7
nováček
Příspěvky: 31
Registrován: září 11
Pohlaví: Muž
Stav:
Offline

PHP - pekne URL

Příspěvekod parka7 » 23 zář 2012 12:36

Zdravim, potrebujem radu ohladom zobrazovania peknych URL v prehliadači

Je mi jasne že sú desiatky tutoriálov na internete, ale neviem tam nájsť to čo hľadám ja, alebo to tam nepíšu, a teda neviem či to je možné alebo nie, a keďže sa v tom dobre nevyznám, možno by ste mi vedeli poradiť vy.

Mám URL, ktorá vyzerá takto:
www.moj-web.sk/?page=uvod&stranka=10&kategoria=domy&zobraz=3

Potreboval by som z toho ale dostať URL aby vyzerala takto,
www.moj-web.sk/uvod/10/domy/zahrady-a-exterier/

a teda fungovaly by mi premenne:

Kód: Vybrat vše

$page="uvod";
$stranka=10;
$kategoria="domy";
$zobraz="3"; // =(zahrady-a-exterier)

Pričom tá URL môže byť kľudne aj iná , napríklad takto:
www.moj-web.sk/?page=uvod&uzivatel=50&zobraz=3&kategoria=domy&pridat-odkaz=1


No zatial som sa dostal len ku tomuto:
.htaccess

Kód: Vybrat vše

RewriteEngine on
RewriteBase /
 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]


index.php

Kód: Vybrat vše

$url = array();
if (isset($_GET['page'])) {
    $page   = trim($_GET['page'], '/');
    $url = explode('/', $page);
}
if (isset($url[0])) {
    switch ($url[0]) {
        case 'clanok';
            if (isset($url[1])) {
                $article_title = $url[1];
 
                $article = new Article($article_title);
                $article->show();
            }
            break;
    }
}?>

Aspoň z toho, čo som našiel na internete, ale tu mi proste nepracuje ten odkaz tak ako má, funguje mi len premenná $page, aj to len pri URL napr:
www.moj-web.sk/domov
už keď dám
www.moj-web.sk/domov/
(s tým lomítkom na konci), zrejme to už berie ako zložku, čo nechcem.
Chcem mať teda len jeden súbor index.php, poprípade viac pre tie stránky v premennej $page ale žiadne zložky

Ak by bol niekto ochotný mi s tými URL pomôcť, bol by som mu veľmi vďačný

Reklama
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: PHP - pekne URL

Příspěvekod CZechBoY » 23 zář 2012 18:47

jednoduché..
.htaccess píše:RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)/(\d+)/(.+)/(.+)/$ index.php?page=$1&stranka=$2&kategoria=$3 [L,QSA]


nějak nechápu kde se tam vzala zobraz=3, pač to nikde v tý url nevidim (žádnou trojku)
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

parka7
nováček
Příspěvky: 31
Registrován: září 11
Pohlaví: Muž
Stav:
Offline

Re: PHP - pekne URL

Příspěvekod parka7 » 23 zář 2012 22:03

No prave tu je teraz ten problém, použil som tvoj skript, a dal do URL odkaz napr:
www.moj-web.sk/home/50/nieco/

Napísalo mi pekný Error 404 - Not Found, pravdepodobne to pracuje so zložkami home, v nej 50 a v nej nieco . Tie zložky tam práve nemám, a ani nechcem mať, potrebujem aby odkaz odkazoval na index.php, kde by som mohol pracovať s práve aktuálnymi premennými, v tomto prípade

Kód: Vybrat vše

$page="home";
$stranka=50;
$kategoria="nieco";

A práve to mi nejak nejde nastaviť :?

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: PHP - pekne URL

Příspěvekod CZechBoY » 23 zář 2012 23:20

tak jestli je to 3 parametrový tak
.htaccess píše:RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)/(\d+)/(.+)/$ index.php?page=$1&stranka=$2&kategoria=$3 [L,QSA]
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

parka7
nováček
Příspěvky: 31
Registrován: září 11
Pohlaví: Muž
Stav:
Offline

Re: PHP - pekne URL

Příspěvekod parka7 » 24 zář 2012 01:27

No obávam sa že to veľmi nepomáha, stále mi zobrazí Error 404 :S

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: PHP - pekne URL

Příspěvekod CZechBoY » 24 zář 2012 08:37

to -l možná dělá bordel, pač pochybuju že tam máš symbolický linky

.htaccess píše:RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)/(\d+)/(.+)/$ index.php?page=$1&stranka=$2&kategoria=$3 [L,QSA]
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW


Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů