PHP get metodu parametreleri gizleme

RoKF0siC

Hectopat
Katılım
14 Mayıs 2018
Mesajlar
180
Merhabalar get methodunu kullanarak yönledirme yaptım ancak URL kısmında parametreler yazıyor bunları nasıl gizleyebilir ve düzgün bir URL haline getirebilirim. Normalde URL bu şekilde gözüküyor:

Kod:
www.testsite.com/blog/makale-sayfasi.php?&id=1

URL'nin benim görünmesini istediğim şekilde bu:

Kod:
www.testsite.com/blog/deneme-makale-adi.php

Sanırım htaccess sef link ile bir şey yapmamız lazımmış fakat ilgili yazıları okuduğumda aradığım bilgileri bulamadım. Yardımcı olursanız sevinirim.

NOT: Makale ekleme formunda veri tabanına URL'nin görünmesini istediğim gibi yazdım.
 
DB'de linkte gözükecek kısmı tutman gerek, bu başlığı slug haline getirmek olabilir. Sonrasında id yerine bu slug'ı yazacaksın ve linki .htaccess ile manipüle edeceksin.

Örnek htaccess;
Perl:
RewriteEngine On

RewriteCond %{REQUEST_URI} !views/
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^urun/([0-9a-zA-Z-_/]+)$ views/urun.php?seo=$1 [L,QSA]
RewriteRule ^kategori/([0-9a-zA-Z-_/]+)$ views/kategori.php?seo=$1 [L,QSA]
RewriteRule ^([0-9a-zA-Z-_/]+)$ views/sayfa.php?seo=$1 [L,QSA]
 
DB'de linkte gözükecek kısmı tutman gerek, bu başlığı slug haline getirmek olabilir. Sonrasında ID yerine bu Slug'ı yazacaksın ve linki. Htaccess ile manipüle edeceksin.

Örnek htaccess;
Perl:
RewriteEngine On.

RewriteCond %{REQUEST_URI} !views/
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^urun/([0-9a-zA-Z-_/]+)$ views/urun.php?seo=$1 [L,QSA]
RewriteRule ^kategori/([0-9a-zA-Z-_/]+)$ views/kategori.php?seo=$1 [L,QSA]
RewriteRule ^([0-9a-zA-Z-_/]+)$ views/sayfa.php?seo=$1 [L,QSA]

Dediğin gibi yapmayı deneyeceğim mantıklı geldi.
DB'de linkte gözükecek kısmı tutman gerek, bu başlığı slug haline getirmek olabilir. Sonrasında ID yerine bu Slug'ı yazacaksın ve linki. Htaccess ile manipüle edeceksin.

Örnek htaccess;
Perl:
RewriteEngine On.

RewriteCond %{REQUEST_URI} !views/
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^urun/([0-9a-zA-Z-_/]+)$ views/urun.php?seo=$1 [L,QSA]
RewriteRule ^kategori/([0-9a-zA-Z-_/]+)$ views/kategori.php?seo=$1 [L,QSA]
RewriteRule ^([0-9a-zA-Z-_/]+)$ views/sayfa.php?seo=$1 [L,QSA]

Bu başlığı slug haline getirmek olabilir. Sonrasında ID yerine bu Slug'ı yazacaksın.

Bu kısmı yapmayı başaramadım internette bunun örneğini yapan bir video veya yazı var mı?
DB'den verileri çekmek için için şu şekilde bir yapı kullanıyorum:

Kod:
 <div class="main-container">
 <?php foreach ($blogs as $blog): ?>
 <div class="box">
 <a href="makale-sayfasi.php?&id=<?php echo $blog['id'] ?>""><img src="<?php echo $blog['makale_gorseli'] ?>" alt=""></a>
 <div class="box-content">
 <a href="makale-sayfasi.php?&id=<?php echo $blog['id'] ?>"><span><?php echo $blog['makale_basligi'] ?></span></a>
 </div>
 </div>
 <?php endforeach;?>
 </div>
DB'de linkte gözükecek kısmı tutman gerek, bu başlığı slug haline getirmek olabilir. Sonrasında ID yerine bu Slug'ı yazacaksın ve linki. Htaccess ile manipüle edeceksin.

Örnek htaccess;
Perl:
RewriteEngine On.

RewriteCond %{REQUEST_URI} !views/
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^urun/([0-9a-zA-Z-_/]+)$ views/urun.php?seo=$1 [L,QSA]
RewriteRule ^kategori/([0-9a-zA-Z-_/]+)$ views/kategori.php?seo=$1 [L,QSA]
RewriteRule ^([0-9a-zA-Z-_/]+)$ views/sayfa.php?seo=$1 [L,QSA]

Yardımın için teşekkürler yukarıdaki yanıtlarımda boş yapmışım. Çözüme ulaşmam 3-4 saatimi aldı ama sonunda başardım. Unique key tanımını ilk defa duyduğum için kullanmayı öğrenmek zaman aldı. 2-3 günde PHP'de öğrenip hızlıca admin panelli proje geliştirmeye çalışınca böyle oluyormuş. :D
 
Son düzenleme:

Yeni konular

Geri
Yukarı