<?> PHP NOVA invictum.hr
Izdanje 2026.
Poglavlje 34

URL-ovi i web-poslužitelj

Od domene i DNS-a dolazimo do HTTPS VirtualHosta, document roota, preusmjeravanja i čistih URL-ova.

24 min čitanja Srednje razina PHP 8.5 ciljna verzija

Nakon ovog poglavlja

Što ćete znati napraviti

  • Rastaviti URL na shemu, host, port, putanju, query i fragment.
  • Objasniti uloge DNS-a, TLS-a i web-poslužitelja.
  • Postaviti public kao document root i kanonsko preusmjeravanje.

Adresa resursa

Svaki dio URL-a ima drugu ulogu

U adresi https://phpnova.invictum.hr:443/clanci/42?print=1#primjer shema određuje protokol, host domenu, port mrežnu uslugu, putanja resurs, query dodatne parametre, a fragment mjesto unutar dokumenta. Fragment se ne šalje poslužitelju.

URL-ovi trebaju biti stabilni, čitljivi i neovisni o internoj putanji PHP datoteke. Identifikator ili slug pripada putanji; filter, pretraga i straničenje prirodno pripadaju query parametrima.

Tri odvojena koraka

DNS pronalazi, TLS štiti, server usmjerava

DNS zapis prevodi domenu u adresu poslužitelja. TLS certifikat potvrđuje domenu i šifrira promet. Apache ili Nginx prima zahtjev, odabire VirtualHost i poslužuje statičku datoteku ili predaje PHP zahtjev PHP-FPM-u/modulu.

Certifikat ne čini aplikaciju sigurnom, ali bez HTTPS-a nema sigurne prijave, kolačića ni povjerljivog prometa. Obnovu certifikata automatizirajte i nadzirite.

Skraćeni Apache VirtualHost
<VirtualHost *:443>
    ServerName phpnova.invictum.hr
    DocumentRoot "/var/www/phpnova/current/public"

    <Directory "/var/www/phpnova/current/public">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Jedna javna ulazna točka

Web-server prosljeđuje nepostojeće datoteke routeru

Statički asseti mogu se poslužiti izravno, a aplikacijske putanje idu u public/index.php. Pravila moraju sačuvati metodu i query string. Jednu varijantu hosta i HTTPS proglasite kanonskom te ostale trajno preusmjerite.

public/.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

Primijenite naučeno

Vježba: Lokalna projektna domena

Postavite projekt na lokalnu HTTPS domenu i provjerite putanju zahtjeva.

  1. Document root usmjerite na public/.
  2. Otvorite statički asset i aplikacijsku rutu.
  3. Provjerite status i Location zaglavlje kanonskog preusmjeravanja.

Za provjeru i nastavak

Službeni izvori