• Forumzar.COM Türkçe içerikli genel forum sitesi ve paylaşım platformu olarak eğlenceli ve interaktif bir forum deneyim sunar.

    Foruma üye olmak için BURAYA TIKLAYINIZ

PHP SEO ve kullanıcı dostu bağlantılar oluşturma

beyfurkan610

Forum Üyesi
Katılım
19 Eki 2022
Mesajlar
23
Puanları
1
Konum
Karaman
Cinsiyet
Erkek
Htaccess’in en popüler kullanım alanlarından birisi budur. Ve sizin de en sevdiğiniz özelliklerinden birisi olacağına inanıyorum.
Bu olayı kullanmanın 2 ideal yöntemi var; birincisi önceden öğrendiğimiz GET metodu ile sayfa.php?sayfa=iletisim şeklinde, ya da POST metodu gibi “REQUEST_URI” ile kullanmak. Hangisi kolayınıza geliyorsa onu seçebilirsiniz fakat benim favorim “REQUEST_URI”den yana.


Yöntem 1: GET metodu kullanarak yapmak.

Öncelikle bir içerik sayfa.php‘miz olsun ve örnek amaçlı switch ile sayfaları tanımlayalım:
PHP Kod:
Kod:
[COLOR=#007700]if(!isset([/COLOR][COLOR=#0000BB]$_GET[/COLOR][COLOR=#007700][[/COLOR][COLOR=#DD0000]'sayfa'[/COLOR][COLOR=#007700]])) { [/COLOR][COLOR=#FF8000]// eğer boşsa anasayfa varsayalım.[/COLOR]
[COLOR=#0000BB]   $sayfa [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#DD0000]'anasayfa'[/COLOR][COLOR=#007700];
} else {[/COLOR]
[COLOR=#0000BB]   $sayfa [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]$_GET[/COLOR][COLOR=#007700][[/COLOR][COLOR=#DD0000]'sayfa'[/COLOR][COLOR=#007700]];
}[/COLOR]
[COLOR=#0000BB] [/COLOR]
[COLOR=#007700]switch([/COLOR][COLOR=#0000BB]$sayfa[/COLOR][COLOR=#007700]) {
case [/COLOR][COLOR=#DD0000]'iletisim'[/COLOR][COLOR=#007700]:[/COLOR]
[COLOR=#0000BB]   echo [/COLOR][COLOR=#DD0000]'<h2>İletişim</h2>'[/COLOR][COLOR=#007700];[/COLOR]
[COLOR=#0000BB]   echo [/COLOR][COLOR=#DD0000]'<p>Bize [email protected] adresinden ulaşın!</p>'[/COLOR][COLOR=#007700];[/COLOR]
[COLOR=#0000BB]   echo [/COLOR][COLOR=#DD0000]'<p><a href="/">Anasayfa</a></p>'[/COLOR][COLOR=#007700];[/COLOR]
[COLOR=#0000BB]   break[/COLOR][COLOR=#007700];[/COLOR]
[COLOR=#0000BB] [/COLOR]
[COLOR=#007700]case [/COLOR][COLOR=#DD0000]'hakkinda'[/COLOR][COLOR=#007700]:[/COLOR]
[COLOR=#0000BB]   echo [/COLOR][COLOR=#DD0000]'<h2>Hakkında</h2>'[/COLOR][COLOR=#007700];[/COLOR]
[COLOR=#0000BB]   echo [/COLOR][COLOR=#DD0000]'<p>Bizi tanıyan tanır, yeniler örnek alır, tanımayanlar ibret alır.</p>'[/COLOR][COLOR=#007700];[/COLOR]
[COLOR=#0000BB]   echo [/COLOR][COLOR=#DD0000]'<p><a href="/">Anasayfa</a></p>'[/COLOR][COLOR=#007700];[/COLOR]
[COLOR=#0000BB]   break[/COLOR][COLOR=#007700];[/COLOR]
[COLOR=#0000BB] [/COLOR]
[COLOR=#007700]case [/COLOR][COLOR=#DD0000]'anasayfa'[/COLOR][COLOR=#007700]:[/COLOR]
[COLOR=#0000BB]   echo [/COLOR][COLOR=#DD0000]'<h2>Sitemize hoşgeldiniz!</h2>'[/COLOR][COLOR=#007700];[/COLOR]
[COLOR=#0000BB]   echo [/COLOR][COLOR=#DD0000]'<p><a href="/hakkinda">Hakkında</a><br/>'[/COLOR][COLOR=#007700];[/COLOR]
[COLOR=#0000BB]   echo [/COLOR][COLOR=#DD0000]'<a href="/iletisim">İletişim</a></p>'[/COLOR][COLOR=#007700];[/COLOR]
[COLOR=#0000BB]   break[/COLOR][COLOR=#007700];[/COLOR]
[COLOR=#0000BB] [/COLOR]
[COLOR=#007700]default: [/COLOR][COLOR=#FF8000]// hiç birisi değilse 404 varsayalim[/COLOR]
[COLOR=#0000BB]   echo [/COLOR][COLOR=#DD0000]'<h2>Bulunamadı!</h2>'[/COLOR][COLOR=#007700];[/COLOR]
[COLOR=#0000BB]   echo [/COLOR][COLOR=#DD0000]'<p>Böyle bir sayfamız henüz yok, değiştirilmiş ya da silinmiş olabilir.</p>'[/COLOR][COLOR=#007700];
} [/COLOR]

Şuan htaccess kullanmadan bu sayfamızı “sayfa.php, sayfa.php?sayfa=hakkinda, sayfa.php?sayfa=iletisim” şeklinde kullanabiliriz. Şimdi gelelim bunu kullanıcı dostu yapmamıza, bu kısımda kod kısmımızda herhangi bir şey değiştirmemize gerek yok.

Sitemizin ana dizinine “.htaccess” adında dosya oluşturuyoruz. Eğer FTP programınız ya da işletim sisteminiz böyle bir dosya oluşturmanıza izin vermiyorsa, not defterinden boş bir sayfa açıp kodları içerisine yazıp, farklı kaydet diyip, “Tüm dosyalar” seçeneğini seçip “.htaccess” yazıp bu dosyayı oluşturabilirsiniz.

İçerisine şu satırları yazıyoruz:
PHP Kod:
Kod:
[COLOR=#0000BB]RewriteEngine On
RewriteBase [/COLOR][COLOR=#007700]/[/COLOR]
[COLOR=#0000BB]RewriteCond [/COLOR][COLOR=#007700]%{[/COLOR][COLOR=#0000BB]REQUEST_FILENAME[/COLOR][COLOR=#007700]} !-[/COLOR][COLOR=#0000BB]f
RewriteCond [/COLOR][COLOR=#007700]%{[/COLOR][COLOR=#0000BB]REQUEST_FILENAME[/COLOR][COLOR=#007700]} !-[/COLOR][COLOR=#0000BB]d
RewriteRule [/COLOR][COLOR=#007700]^(.*)$ [/COLOR][COLOR=#0000BB]sayfa[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]php[/COLOR][COLOR=#007700]?[/COLOR][COLOR=#0000BB]sayfa[/COLOR][COLOR=#007700]=$[/COLOR][COLOR=#0000BB]1 [/COLOR][COLOR=#007700][[/COLOR][COLOR=#0000BB]QSA[/COLOR][COLOR=#007700],[/COLOR][COLOR=#0000BB]L[/COLOR][COLOR=#007700]] [/COLOR]

Bu işlemi yaptıktan sonra Htaccess; kullanıcılar eğer olmayan bir sayfaya girmeye çalışırlarsa, yani normalde /hakkinda ya da /iletisim gibi bir dizinimiz olmadığı için, 404 hata sayfasına değil de bizim sayfa.php dosyamıza yönlendirecek.

Fakat yönlendirirken girilmiş olan sayfayı bizim dosyamıza “sayfa” GET parametresi olarak gönderek. Yani bu şekilde site.com/deneme diye girildiğinde arkaplanda çalışacak olan sayfa “site.com/sayfa.php?sayfa=deneme” olacaktır.

Sonuç olarak yine aynı sistem çalışsa da kullanıcılar artık php dosyalarının adını ya da diğer GET parametresi uzantılarını yazmasına gerek kalmadan temiz ve akılda kalıcı bağlantılarla sitenizde gezebiliyor.


Yöntem 2: REQUEST_URI ile yapmak.

Diğer yöntemden tek farkı $_GET[‘sayfa’] yerine girilen adresi $_SERVER[‘REQUEST_URI’] ile okuyoruz. Fakat burada bize ilk baştaki “/” işaretini de veriyor (“/hakkinda” şeklinde). Bunun için ilk karekteri substr fonksiyonu ile atlıyoruz.
Yani kod kısmımızın ilk 5 satırını şöyle değiştireceğiz:
PHP Kod:
Kod:
[COLOR=#0000BB]$sayfa [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]substr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]$_SERVER[/COLOR][COLOR=#007700][[/COLOR][COLOR=#DD0000]'REQUEST_URI'[/COLOR][COLOR=#007700]], [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]); [/COLOR][COLOR=#FF8000]// ilk "/" karakterini atlıyoruz.[/COLOR]
[COLOR=#007700]if(!empty([/COLOR][COLOR=#0000BB]$sayfa[/COLOR][COLOR=#007700])) { [/COLOR][COLOR=#FF8000]// eğer boşsa anasayfa varsayalım.[/COLOR]
[COLOR=#0000BB]   $sayfa [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#DD0000]'anasayfa'[/COLOR][COLOR=#007700];
} [/COLOR]

.htaccess dosyamızda da bu yöntem için bir satırlık değişiklik yapıyoruz, GET parametresi tanımladığımız kısmı siliyoruz:
PHP Kod:
Kod:
[COLOR=#0000BB]RewriteRule [/COLOR][COLOR=#007700]^(.*)$ [/COLOR][COLOR=#0000BB]sayfa[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]php[/COLOR][COLOR=#007700]?[/COLOR][COLOR=#0000BB]sayfa[/COLOR][COLOR=#007700]=$[/COLOR][COLOR=#0000BB]1 [/COLOR][COLOR=#007700][[/COLOR][COLOR=#0000BB]QSA[/COLOR][COLOR=#007700],[/COLOR][COLOR=#0000BB]L[/COLOR][COLOR=#007700]][/COLOR]
[COLOR=#FF8000]// yerine[/COLOR]
[COLOR=#0000BB]RewriteRule [/COLOR][COLOR=#007700]^(.*)$ [/COLOR][COLOR=#0000BB]sayfa[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]php [/COLOR][COLOR=#007700][[/COLOR][COLOR=#0000BB]L[/COLOR][COLOR=#007700]] [/COLOR]
 

Genel Forum Sitesi

Forum Sitesi - Forumzar.COM

Forumzar.COM olarak, Türkçe forum sitesi denildiğinde akla gelen ilk adres olarak, geniş kapsamlı genel forum platformumuzda buluşuyoruz. Türkiye'nin en büyük Türkçe forum siteleri arasında yer almanın gururunu yaşıyoruz. Çeşitli konu başlıklarında aktif bir şekilde paylaşımların yapıldığı, her konuda interaktif ve bilgilendirici tartışmalara katılmak için bizi takip edin! ve bir dakikanızı ayırarak forum sitemize üye olun!

Forum Siteleri

Bilgi paylaştıkça çoğalır sloganı ile ilerleyen forum sitesi platformumuza, siz de üye olarak forum sitemizde açılan konulara katılabilir ve ilgi alanınıza uygun konular açarak siz de paylaşımda bulunabilirsiniz.