2025. január 9., csütörtök

.htaccess fájl használata -> Hypertext Access File

 A .htaccess fájl az Apache webszerver egy konfigurációs fájlja, amely lehetővé teszi a könyvtárszintű beállítások módosítását.

Funkciója:

  • Az Apache webszerver viselkedésének módosítása egy adott könyvtárban.
  • URL-ek átírása, jogosultságkezelés, hibakezelés, átirányítások és még sok más.
Amire mi használni fogjuk, az az URL-ek átírása, hogy például http://example.com/bemutatkozas legyen az URL a → http://example.com/index.php?alias=bemutatkozas helyett. 

RewriteCond %{REQUEST_FILENAME} !-f:

Ha a kért fájl nem létezik, akkor lép életbe.

RewriteCond %{REQUEST_FILENAME} !-d:

Ha a kért könyvtár nem létezik, akkor lép életbe.

RewriteRule ^([a-zA-Z0-9-]+)/?$ index.php?alias=$1 [QSA,L]:

Ez az átírás szabály biztosítja, hogy a /alias formátumú URL-ek a index.php?alias=alias formában kerüljenek feldolgozásra.

QSA (Query String Append): Megőrzi a meglévő query string-eket.

L (Last): Leállítja a további átírásokat, ha ez a szabály teljesül.

ErrorDocument 404 /404.php:

Egyedi 404-es hibaoldalra irányít, ha a keresett oldal nem található.

ErrorDocument 500 /500.php:

Egyedi 500-as hibaoldalra irányít, ha szerverhiba lép fel.

Miért jobb ez?

Rugalmasabb URL-kezelés:

A szabály támogatja az URL-ek / végződését is (/bemutatkozas és /bemutatkozas/ egyaránt működik).

Egyedi hibaoldalak:

Jobb felhasználói élményt nyújtanak, ha a látogatók hibába ütköznek.

Keresőbarát URL-ek:

Az átírt URL-ek tiszták és keresőbarátok, segítve a SEO-t.

További hibakezelési lehetőségek:

Más típusú hibákhoz (például 500-as) könnyen hozzáadhatók egyedi oldalak.

Kód tisztasága:

Az egyszerűsített szabályok jobban átláthatók és karbantarthatók.

Először is a mappád gyökér könyvtárában hozz létre egy .htaccess nevű fájlt.

Majd másold bele, és már hozhatjuk és létre az új URL-eket:

<IfModule mod_rewrite.c>
    # URL átírás engedélyezése
    RewriteEngine On

    # Feltétel: Ha a fájl nem létezik
    RewriteCond %{REQUEST_FILENAME} !-f

    # Feltétel: Ha a könyvtár nem létezik
    RewriteCond %{REQUEST_FILENAME} !-d

    # Átírási szabály: alias átadása index.php-nak
    RewriteRule ^([a-zA-Z0-9-]+)/?$ index.php?alias=$1 [QSA,L]
</IfModule>

# Hibaoldalak
# Általános 404-es hibaoldal
ErrorDocument 404 /404.php

# Általános hibaoldal például 500-as hibához
ErrorDocument 500 /500.php


Nincsenek megjegyzések:

Megjegyzés küldése

<<< szintaxis

 A <<< szintaxist a PHP-ban "heredoc" vagy "nowdoc" szintaxisnak nevezzük. Ez nem pontosan olyan, mint a Jav...