Merhaba php hazırladığım çok dilli sitede sayfalar tek ama dil değiştirildiğinde klasörü olmayan tr, eng vs gelmesini istiyorum. .htacess araştırdım ama daha bir çözüm bulamadım. Dil değişimi session ile gerçekleşiyor. Şimdiden yardımlarınız için teşekkürler.
Dil Değişim Kodu SESSION
<?php
require_once'baglan.php';
$diller=$db->prepare("SELECT*FROM dil");
$diller->execute();
session_start()
;ob_start();
if(!isset($_SESSION['anasayfadil'])){
$_SESSION['anasayfadil']=1;}
if(isset($_GET['dildegistir'])){
$dil =$_GET['dildegistir'];
$_SESSION['anasayfadil']=$dil;
header('location:'.$_SERVER['HTTP_REFERER']);
}?>
Dil Değişim Linki
<?php
if($diller->rowCount()){
foreach($diller as$row){?>
<aclass="dropdown-item"href="index.php?dildegistir=<?phpecho$row['dil_kisa'];?>"><imgsrc="<?phpecho$row['dil_resimyol'];?>"width="32"><?phpecho$row['dil_ad'];?></a>
<?php } } ?>
Php Klasör Görünümlü Link Verme
2
●69
- 03-04-2021, 09:10:18Htaccess ile yapabilirsinizantucb adlı üyeden alıntı: mesajı görüntüle
RewriteEngine On RewriteCond %{HTTP:Accept-Language} ^en [NC] RewriteRule ^$ http://mysite.com/en/ [L,R=301] RewriteCond %{HTTP:Accept-Language} ^de [NC] RewriteRule ^$ http://mysite.com/de/ [L,R=301] RewriteCond %{HTTP:Accept-Language} ^fr [NC] RewriteRule ^$ http://mysite.com/fr/ [L,R=301] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-l RewriteRule ^(en|de|fr)/?$ index.php?dildegistir=$1 [QSA,NC,L] - 04-04-2021, 21:21:41Öncelikle cevabın için teşekkürler ilk sayfaya girildiğinde web.tr/tr/ olarak geliyor ama dili seçtiğimde web.tr/index.php?dildegistir=eng olarak adres çubuğunda gözüküyor. Htaccess yazdığım kod aşağıda localde denemiyorum direk siteden deniyorum ama bir türlü yapamadım atladığım bir yer mi var bakarsanız sevinirim.
RewriteEngine On
RewriteCond %{HTTP:Accept-Language} ^eng [NC]
RewriteRule ^$ http://web.tr/eng/ [L,R=301]
RewriteCond %{HTTP:Accept-Language} ^ger [NC]
RewriteRule ^$ http://web.tr/ger/ [L,R=301]
RewriteCond %{HTTP:Accept-Language} ^tr [NC]
RewriteRule ^$ http://web.tr/tr/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(eng|ger|tr)/?$ index.php?dildegistir=$1 [QSA,NC,L]