我的问题是我的 .htaccess 和 url 解释设置不成功,我希望能得到帮助,因为我自己无法解决我的问题。
我的症状
- 当 url 是或时,我的唯一index.php没有问题
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 相同的页面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]
我的 php 代码来解释 url 并确定页面标识符变量是$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';
}
我究竟做错了什么?为什么我有第三个症状?