PHP Sayfalama get paremetresini gizlenemiyor

bloodymxd

Zeptopat
Katılım
14 Mayıs 2023
Mesajlar
11
Daha fazla  
Cinsiyet
Erkek
Kod:
Rewriteengine on

Rewriterule ^profile profile.php [NC,L]
Rewriterule ^login login.php [NC,L]
RewriteRule ^profile/([a-zA-Z0-9\-=&_@\.\,\)\(]*)/([a-zA-Z0-9\-=&_@\.\,\)\(]*)/([a-zA-Z0-9\-=&_@\.\,\)\(]*)$ /?user= [NC,L]
Htaccess kodlarım böyle.

Get methodu ile user parametresini alacağım, linkim http://localhost/xd/profile/mehmet böyle olmasını istiyorum şu an böyle: http://localhost/xd/profile.php?user=<kullanıcı adı>.
 
Son düzenleyen: Moderatör:
RewriteRule girilen URL'i değiştirmez zaten, sen URL'i seflink şeklinde kullanmalısın.
 
İşe yaramadı, sitedeki CSS kodları gitti hatta.
RewriteRule yazdıktan sonra CSS'lerin kaybolması durumu çok sık yaşanan bir durumdur, base href belirleyip bu sorun çözülebilir ancak bence buna gerek yok, çağıracağınız CSS dosyalarını "/styles/app.css" şeklinde değil de "https:// siteadi.com/styles/app.css" şeklinde yani tam URL şeklinde çağırırsanız bu sorun yaşanmaz.

Yaşadığın soruna gelirsek senin yapmak istediğin sanırım şu, yani ben böyle anladım: RewriteRule yazarak normalde user.php?user=1 şeklinde olan URL yapısını user/mehmet şeklinde değiştirmek. Eğer böyleyse yukarıda dediğim gibi RewriteRule'un amacı bu değildir, RewriteRule hali hazırda geçerli olan URL yapısını değiştirmez. O URL'e başka yöntemlerle de girebiliyor olmanı sağlar sadece. Yani sen RewriteRule yazdığın zaman /user/mehmet'e girebilirsin ama aynı şekilde user.php?user=1 şeklinde de girebilirsin o URL değişmez eskisi hala çalışır.

Bunun için ek bir Redirect sistemi yazman gerekir ki user.php?user=1'i user/mehmet'e çevirsin. Ama yapmak istediğin URL'i her zaman link yapılarında kullanabilirsin buna engel yok, yani <a href="user.php?user=1"> vermek yerine <a href="user/mehmet"> verebilirsin RewriteRule'un doğru çalışıyorsa bu da çalışır.
 

Yeni konular

Geri
Yukarı