• 02-04-2023, 06:15:43
    #1
    Merhaba arkadaşlar herkese günaydın bu arada

    şu anki çalışan mantık şu:
    index.php de switch case olduğunu düşünün ve index.php?sayfa=anasayfa , ?sayfa=iletisim, ?sayfa=portfolyo tarzında çalışıyor. bunları çok güzel /anasayfa /iletisim /portfolyo yapıyor.
    benim yapmak istediğim ve zorlandığım olay şu: /portfolyo sayfasında içeriğe tıkladığında /portfolyo?id=1 olarak gidiyor. bu şekilde değil de /portfolyo/icerik-basligi şekilde olmasını istiyorum. Bir çok yol denedim hiç bi şekilde başaramadım chatGPT ye de sordum yok çözemedim hep bi hata veriyor bir türlü anlamadım şu htaccess sef link mantığını


    Htaccess kodu:
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /?sayfa=$1 [L,QSA]
  • 02-04-2023, 06:20:10
    #2
    index.php
    <a href="directory/1">click</a>
    detail.php
    <?php
    echo $_GET['id'];
    echo $_GET['page'];
    ?>


    .htaccess
    RewriteEngine on
    RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ detail.php?page=$1&id=$2
  • 02-04-2023, 06:20:57
    #3
    Apache mod_rewrite modülünü kullanarak .htaccess dosyasında belirli bir URL yapısını yeniden yönlendirmeniz gerekiyor.
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^portfolyo/([^/]+)/?$ /index.php?sayfa=portfolyo&id=$1 [L,QSA]
    Kodun çalışması için
    AllowOverride Direktifinin All veya FileInfo olarak ayarlanması gerek
  • 02-04-2023, 06:37:12
    #4
    Pwdec adlı üyeden alıntı: mesajı görüntüle
    index.php
    <a href="directory/1">click</a>
    detail.php
    <?php
    echo $_GET['id'];
    echo $_GET['page'];
    ?>


    .htaccess
    RewriteEngine on
    RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ detail.php?page=$1&id=$2
    yok hocam bu şekil denediğimde benim 4. satırı silmeden çalıştırdığımda anasayfaya atıyor ve css'i çekemiyor. benim 4. satırı silip eklediğimde ise 404 veriyor
  • 02-04-2023, 06:41:38
    #5
    Gelistir adlı üyeden alıntı: mesajı görüntüle
    Apache mod_rewrite modülünü kullanarak .htaccess dosyasında belirli bir URL yapısını yeniden yönlendirmeniz gerekiyor.
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^portfolyo/([^/]+)/?$ /index.php?sayfa=portfolyo&id=$1 [L,QSA]
    Kodun çalışması için
    AllowOverride Direktifinin All veya FileInfo olarak ayarlanması gerek
    hocam bu şekilde içerikler geliyor ama eğer kendi 4. satırdaki kodumu silersem bu kez /anasayfa vs çalışmıyor. silmeden eklediğimde /portfolyo/1 yaptığımda anasayfadaki veriler geliyor css olmadan. sıralamayı değiştirip önce sizin 4. satırdakini ekleyip benimkini 5e atınca internal error veriyor
  • 02-04-2023, 06:43:03
    #6
    ytscript adlı üyeden alıntı: mesajı görüntüle
    hocam bu şekilde içerikler geliyor ama eğer kendi 4. satırdaki kodumu silersem bu kez /anasayfa vs çalışmıyor. silmeden eklediğimde /portfolyo/1 yaptığımda anasayfadaki veriler geliyor css olmadan. sıralamayı değiştirip önce sizin 4. satırdakini ekleyip benimkini 5e atınca internal error veriyor
    Telegramdan yazdım
  • 02-04-2023, 06:59:47
    #7
    RewriteEngine On
    RewriteBase /
    # /anasayfa, /iletisim, /portfolyo vb. sayfalar için
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([a-zA-Z0-9_-]+)/?$ index.php?sayfa=$1 [L,QSA]
    # /portfolyo/icerik-basligi gibi URL'ler için
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$ index.php?sayfa=$1&id=$2 [L,QSA]
    bu kodlar işe yaradı teşekkürler @Gelistir;