Htaccess Sef Link Problemi
-
Merhaba beyler;
Elimde worpdress bi site vardı. bunun tüm linkleri aşağıdaki örneklerdeki gibiydi.
Menü Linkleri
siteadi.com/urunkategori/urunadi/
yada
siteadi.com/urunkategori/urunaltkategori/urunadi/Blog linkleri
siteadi.com/makale-basligi/
Herhangi bir id yada başlık haricinde bir değer yok
Ek olarak
ben adres satırına siteadi.com/makale-basligi yazssam sonuna "/" koyarak anlık bir şekilde yenileyip siteadi.com/makale-basligi/ haline dönüştürüp çalışıyor.
Şimdi ben kendi yaptığım sitede tek bir .htaccess komutu yazdım.
RewriteRule ^(.*)/$ index.php?go=main&url=$1
Bu şekilde hem menü linklerimi hemde blog linklerimi main fonksiyonuna gönderip ayrıştırıp çalıştırabiliyorum.
Ancak şöyle bir sorunum var
Adres satırına direk el ile siteadi.com/makale-basligi şeklinde yazdığımda
The requested URL /siteadi.com/makale-basligi was not found on this server.
Ben url in sonuna / işareti nasıl koydururum ?
Yani kullanıcı gidip adres satırına el ile siteadi.com/iletisim yazabilir
ama benim .htaccess komutum siteadi.com/iletisim/ şeklinde olduğundan çalışmıyor.
Linkime ya .htaccess den müdahale edip sonuna / işareti koymam lazım yada javascript ile linki değiştirmem lazım.
Kısacası bu slash sorununu nasıl aşarım ?
Nasıl yapabilirim ?
-
^(.*)\/$ index.php?go=main&url=$1
^(.*)[/]$ index.php?go=main&url=$1
dener misin hocam.
Birde şunu anlamadım
Adres satırına direk el ile siteadi.com/makale-basligi şeklinde yazdığımda
The requested URL /siteadi.com/makale-basligi was not found on this server.
diyorsun
ama benim .htaccess komutum siteadi.com/iletisim/ şeklinde olduğundan çalışmıyor.diyorsun anlamadım şimdi
Az sonra denemeye çalışırım bi şu an vaktim yok.
DrKill tarafından 17/Eyl/14 11:59 tarihinde düzenlenmiştir -
@DrKill Hocam;
wordpress sitede orjinal link siteadi.com/iletisim/ek olarak ben siteadi.com/iletisim yazdığımda da adres satırındaki url, sayfa yenilenmeden sonuna slash atıyor ve siteadi.com/iletisim/ oluyor.
sanki yönlendirme varmış gibi.
kendi yaptığım sitede ise tüm linkler orjinal linkler yani siteadi.com/iletisim/
ama siteadi.com/iletisim iken çalışmıyor (yani sonunda slash yokken). Yani ortada böyle bir link yok. İndekslerde felan da yok. Ancak kullanıcı olur ya siteadi.com/iletisim yazarsa
ben nasıl sonuna slash koydururum derdindeyim açıkcası.
-
solstice bunu yazdı
@DrKill Hocam;
wordpress sitede orjinal link siteadi.com/iletisim/ek olarak ben siteadi.com/iletisim yazdığımda da adres satırındaki url, sayfa yenilenmeden sonuna slash atıyor ve siteadi.com/iletisim/ oluyor.
sanki yönlendirme varmış gibi.
kendi yaptığım sitede ise tüm linkler orjinal linkler yani siteadi.com/iletisim/
ama siteadi.com/iletisim iken çalışmıyor (yani sonunda slash yokken). Yani ortada böyle bir link yok. İndekslerde felan da yok. Ancak kullanıcı olur ya siteadi.com/iletisim yazarsa
ben nasıl sonuna slash koydururum derdindeyim açıkcası.
Tamam şimdi anladım olayı xxx.com/iletisim yazarlarsa nasıl xxx.com/iletisim/ ' e yönlendirim diyorsun değil mi? Bir dk bekle.
-
index.php 'nin en üstüne şunu ekle
if( isset($_GET["redirect"], $_GET["adres"])) { if ( ($_GET["redirect"] == 1) && ($_GET["adres"] == "iletisim") ) { header("Location: /iletisim/", TRUE, 301); exit(); } }htaccess dosyasınada şunu ekle
RewriteRule ^(iletisim)$ index.php?redirect=1&adres=$1
Bunu genelleştirebilirsin. Mantığı için yazdım. Normalde htaccess te redirect diye bir komut vardı ama yapamadım onunla.
-
Tamamdır hocam bu mantıkta yeterli oldu. teşekkür ederim saolasın.
