私の問題は、.htaccess と URL の解釈のセットアップがうまくいかないことです。自分で問題を解決できなかったので、助けてもらいたいと思っています。
私の症状
- URLが
www.domain.p.ht
または_www.domain.p.ht/index.php
- URLが
www.domain.p.ht/yazılar
再び表示される場合、期待どおりに表示されます しかし、url が
www.domain.p.ht/iletişim
ORwww.domain.p.ht/etiketler
の場合、html は URL が OR の場合と同じページを出力します。www.domain.p.ht/yazılar
私の.htaccessコード全体
Options +FollowSymlinks RewriteEngine On RewriteBase / RewriteRule ^(.*)/$ /$1 [L,R=301] RewriteRule ^yazılar/(.+)/(.+)$ index.php?rd_sayfa=yazilar&rd_ozne=$1&rd_nesne=$2 [L] RewriteRule ^yazılar/(.+)$ index.php?rd_sayfa=yazilar&rd_ozne=$1 [L] RewriteRule ^etiketler/(.+)$ index.php?rd_sayfa=etiketler&rd_ozne=$1 [L] RewriteRule ^iletişim$ index.php?rd_sayfa=iletisim [L] RewriteRule ^etiketler$ index.php?rd_sayfa=etiketler [L] RewriteRule ^yazılar$ index.php?rd_sayfa=yazilar [L] RewriteRule ^site-haritası$ index.php?rd_sayfa=site_haritasi [L] RewriteRule ^hakkında$ index.php?rd_sayfa=hakkinda [L] RewriteRule ^ara$ index.php?rd_sayfa=arama [L] RewriteRule ^yorum-doğrula$ index.php?rd_sayfa=yorum_dogrula [L] RewriteRule ^eposta-doğrula$ index.php?rd_sayfa=eposta_dogrula [L] RewriteRule ^yorumunuz-için-teşekkür-ederim$ index.php?rd_sayfa=yorum_onay [L] RewriteRule ^epostanız-için-teşekkür-ederim$ index.php?rd_sayfa=eposta_onay [L]
URLを解釈し、ページ識別子変数を決定するための私のphpコード$sayfa
$sayfa = '';
$actual_link = 'http://'.$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
if(!empty($_GET)) {$getsayaci = count($_GET);}
$url_check01 = htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'utf-8');
$url_check02 = htmlspecialchars($_SERVER['SCRIPT_NAME'], ENT_QUOTES, 'utf-8');
if (isset($_GET['rd_sayfa']) AND $_GET['rd_sayfa'] != '')
{
if ($getsayaci == 1)
{
if ($_GET['rd_sayfa'] = 'yazılar') {$sayfa = 'yazilar';}
else if ($_GET['rd_sayfa'] = 'iletişim') {$sayfa = 'iletisim';}
else if ($_GET['rd_sayfa'] = 'site-haritası') {$sayfa = 'site_haritasi';}
else if ($_GET['rd_sayfa'] = 'etiketler') {$sayfa = 'etiketler';}
else if ($_GET['rd_sayfa'] = 'yorum-doğrula') {$sayfa = 'yorum_dogrula';}
else if ($_GET['rd_sayfa'] = 'eposta-doğrula') {$sayfa = 'eposta_dogrula';}
else if ($_GET['rd_sayfa'] = 'yorumunuz-için-teşekkür-ederim') {$sayfa = 'yorum_onay';}
else if ($_GET['rd_sayfa'] = 'epostanız-için-teşekkür-ederim') {$sayfa = 'eposta_onay';}
else if ($_GET['rd_sayfa'] = 'hakkında') {$sayfa = 'hakkinda';}
else if ($_GET['rd_sayfa'] = 'ara') {$sayfa = 'arama';}
else {$sayfa = 'olmayan_sayfa';}
}
else if (isset($_GET['rd_ozne']) AND $_GET['rd_ozne'] != '')
{
if ($getsayaci == 2)
{
if ($_GET['rd_sayfa'] = 'yazılar') {$sayfa = 'yazarin_yazilari';}
else if ($_GET['rd_sayfa'] = 'etiketler') {$sayfa = 'bir_etiket';}
else if ($_GET['rd_sayfa'] = 'ara') {$sayfa = 'aranan';}
else {$sayfa = 'olmayan_sayfa';}
}
else if (isset($_GET['rd_nesne']) AND $_GET['rd_nesne'] != '' AND $getsayaci == 3)
{
if ($_GET['rd_sayfa'] = 'yazılar')
{
$sayfa = 'spesifik_yazi';
}
else
{
$sayfa = 'olmayan_sayfa';
}
}
else
{
$sayfa = 'olmayan_sayfa';
}
}
else
{
$sayfa = 'olmayan_sayfa';
}
}
else if ($url_check01 == '/index.php' AND $url_check02 == '/index.php' AND ($actual_link = "site1" OR $actual_link = "site2" ))
{
$sayfa = 'anasayfa';
}
else
{
$sayfa = 'olmayan_sayfa';
}
私は何を間違っていますか?なぜ私は3番目の症状を持っているのですか?