İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

rewrite .html .htm sorun ?

desoLate

0
İyinet Üyesi
Katılım
14 Haziran 2006
Mesajlar
220
Reaction score
0
Kod:
RewriteRule ^(.*)_(.*).html$ /sayfa1.php?id=$2&konu=$1
RewriteRule ^(.*)_(.*).htm$ /sayfa2.php?id=$2&konu=$1

Yukardaki kod'da problem yok gayet güzel çalışıyor. Fakat sayfa2.php kuralında .html olarak rewrite yaptığım zaman, sayfa1.php'deki id'ye sahip olan sayfayı getiriyor. Umarım anlatabildim. Bunu nasıl çözebilirim ?

Teşekkürler.
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
66
Konum
Sakarya
Kod:
RewriteRule ^(.*)_(.*).html$ /sayfa1.php?id=$2&konu=$1
RewriteRule ^(.*)_(.*).htm$ /sayfa2.php?id=$2&konu=$1

Yukardaki kod'da problem yok gayet güzel çalışıyor. Fakat sayfa2.php kuralında .html olarak rewrite yaptığım zaman, sayfa1.php'deki id'ye sahip olan sayfayı getiriyor. Umarım anlatabildim. Bunu nasıl çözebilirim ?

Teşekkürler.

Bu kurala gore html ler sayfa 2 ye gitmez ,sadece sayfa 1 e gider.
Sayfa 2 ye htm ler gider.
RewriteRule ^(.*)_(.*).htm$ /sayfa2.php?id=$2&konu=$1
 
B

Baria

Misafir
birşey daha belirmen gerek sayfaları tanımlaman için
örnek:

RewriteRule ^(.*)_(.*)_(.*).html$ /sayfa$1.php?id=$3&konu=$2
 

desoLate

0
İyinet Üyesi
Katılım
14 Haziran 2006
Mesajlar
220
Reaction score
0
Bu kurala gore html ler sayfa 2 ye gitmez ,sadece sayfa 1 e gider.
Sayfa 2 ye htm ler gider.
RewriteRule ^(.*)_(.*).htm$ /sayfa2.php?id=$2&konu=$1

İşte 2sini de .html olarak ayarlayamaz mıyım ? satırların sonuna [L] [NC] falan yazılıyor. Fakat onların da tam anlamını bilmiyorum. Denedim, ama yine sayfa1'e gidiyor. Ben istiyorum ki sayfa2.php kuralında da .htm yerine .html olsun.
 

desoLate

0
İyinet Üyesi
Katılım
14 Haziran 2006
Mesajlar
220
Reaction score
0
Bu konuda aynı sıkıntıyı yaşayanlar/yaşayabilme ihtimali olanlar için yazıyorum.
Çoğu yerde araştırdım fakat böyle birşey mümkün gözükmüyor sanırım. Ana domainden yukardaki gibi 2 tane .html link verilmiyor. Peki ne yapılabilir ?
Alternatifler:
1- birini .html diğerini .htm yapabilirsiniz. Yukarda gözüktüğü gibi.
2- başlarına klasör atayarak olabilir.
Kod:
RewriteRule ^Klasorbir/(.*)_(.*).html$ /sayfa1.php?id=$2&konu=$1
RewriteRule ^Klasoriki/(.*)_(.*).html$ /sayfa2.php?id=$2&konu=$1
3- Rakam atayarak olabilir.
Kod:
RewriteRule ^1-(.*)_(.*).html$ /sayfa1.php?id=$2&konu=$1
RewriteRule ^2-(.*)_(.*).html$ /sayfa2.php?id=$2&konu=$1

Şimdilik tek çözüm yolu bu olarak gözüküyor.
Okuyup, öneri yazan herkese teşekkürler.
 

FileZilla

0
İyinet Üyesi
Katılım
16 Aralık 2006
Mesajlar
204
Reaction score
0
RewriteRule ^(.*)_(.*)\.(.+)$ /sayfa.php?id=$2&konu=$1&tip=$3

deyip tip değişkenine göre de sayfa bastırabilirdik gibi geliyor.
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
66
Konum
Sakarya
Ben senin ne yapmaya calistigini anlamadim?
Amac nedir? Orneklerle aciklarmisin.
 

desoLate

0
İyinet Üyesi
Katılım
14 Haziran 2006
Mesajlar
220
Reaction score
0
Şimdi, öncelikle 2 tane .php uzantılı sayfamız var bunlar site.com/sayfa1.php ve site.com/sayfa2.php . Ve bunlardan sayfa1.php?id=1&konu=rewrite , sayfa.php2?id=1&konu=hayat diye linkler gidiyor. 2 sayfada farklı tablolardan bilgi alıyor. Ve ben bunların ikisininde .html uzantılı hale gelmesini istiyorum. Yani üstteki iki linkte şöyle olacak : rewrite_1.html ve hayat_1.html . ikisinin kuralını da .html olarak yaptığımızda, hayat_1.html'e tıklanınca rewrite_1.html bilgilerini getiriyor. İkisi de .html uzantılı olmuyor yani.

Umarım bu sefer anlatabilmişimdir :)
 

sempaty

1
İyinet Üyesi
Katılım
25 Şubat 2005
Mesajlar
3,824
Reaction score
19
Konum
hawaii. ama sanal tur.
filezillanınkini açıyım biraz.

sayfa.php?tablo=web&id=1&konu=rewrite -> /web/rewrite-1.html
sayfa.php?tablo=hayattan&id=2&konu=asknedir -> /hayattan/asknedir-2.html

RewriteRule ^(.*)/(.*)-(.*).html /sayfa.php?tablo=$1&konu=$2&id=$3


sayfa.php

mysql_query("select * from ".$_GET[tablo]." where id=".$_GET[id]."");
 

FileZilla

0
İyinet Üyesi
Katılım
16 Aralık 2006
Mesajlar
204
Reaction score
0
filezillanınkini açıyım biraz.

sayfa.php?tablo=web&id=1&konu=rewrite -> /web/rewrite-1.html
sayfa.php?tablo=hayattan&id=2&konu=asknedir -> /hayattan/asknedir-2.html

RewriteRule ^(.*)/(.*)-(.*).html /sayfa.php?tablo=$1&konu=$2&id=$3


sayfa.php

mysql_query("select * from ".$_GET[tablo]." where id=".$_GET[id]."");


Bende biraz açıyım :D

RewriteRule ^(.*)_(.*)\.(.+)$ /sayfasecici.php?id=$2&konu=$1&tip=$3

deyip tip değişkenine göre de sayfa bastırabilirdik gibi geliyor.


PHP:
if($_GET[tip] == "htm") {
include "sayfa1.php"; } else if($_GET[tip] == "html") {
include "sayfa2.php"; } else {
include "nereye_gulum.php"; }

hepsi bu :)

neden ? çünkü, zaten değişkenler get olarak gelmekte include edilen sayfanın işlenişini etkileyecek herhangi bir ek bulunmamakta :D
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst