RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^(.*)$ $1.php RewriteRule ^([a-z]+)\/?$ $1.php [NC]Burada yer alan kodlardan bahsedecek olursam , ilk satır zaten .htaccess kodunu çalıştırmak için gerekli. İkinci satırda nereyi düzenleyeceğimizi seçiyoruz. Üçüncü satırda ise tahmin edebileceğiniz gibi dosya uzantısını giriyoruz.Ben php tabanlı çalıştığım için php uzantısını girdim.En son satır ise $ işaretinden sonra gelecek uzantıyı gizlemeye yardımcı oluyor.Eğer quit.php ya da contact.php gibi uzantıya sahip sayfalarınız var ise bu yöntemle onlar siteadi.com/quit ya da siteadi.com/contact olarak değiştirebilirsiniz. Bunun neden yapıldığına bakacak olursak ; sonuçta bu yapılan uzantılar kullanıcıyı çokta ilgilendirmiyor. Seo uyumlu link yapmaktaki asıl amaç da kullanıcı için uygun linki göstermekse şayet böyle bir kullanım doğru olacaktır.Ayrıca google amca .php .asp gibi uzantıları da sevmiyor bu arada.
Güncelleme Yukarıdaki kodlar bazı arkadaşlar için 404 ve 500 hatalarını doğurduğu için aşağıda özellikle php projeleri için yeni ayarladığım kodu paylaşıyorum. Diğer uzantıları gizlemek isterseniz aynı mantığı uygulayabilirsiniz.
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^(.*)$ $1.php RewriteRule ^([a-z]+)\/?$ $1.php [NC] </IfModule>
Şayet linklerinizi index.php?sayfa=2 şeklinde oluşturduysanız bunu da düzeltmenin yolu var elbette. Bu konudan da bu yazımda bahsetmiştim. Eğer bu işlemleri yaptıktan sonra sayfanız çalışır fakat açılan sayfada bir css sorunu yaşarsanız yine sayfanın altında belirttiğim gibi <base href=”http://www.harunalp.com/” /> şeklinde bir yol belirtmeniz yeterli olacaktır. İyi çalışmalar 🙂