单击不同的链接可访问同一页面

clicking on different links accesses the same page

提问人:Gheorghe-Robert Candea 提问时间:10/28/2023 更新时间:10/28/2023 访问量:58

问:

我有一个工作门户网站,该网站的 URL 是 http://deutschearbeitsplätzefürromänen.de。当我访问链接时,主页显示正确。但是,当我单击任何导航链接时,无论我选择哪个链接,我都会被重定向回主页。需要注意的是,我是编程新手,收到了这个网站作为礼物。以下是一些相关信息:

  • 该网站主要是用PHP编写的。

  • 有一个带有快速链接功能的路由文件。

  • 文件夹结构分为“app”(用于私有)和“public_html”(用于公共)。

  • 编程部分位于“app”文件夹中。

  • 我还将分享我认为与该问题相关的功能。在“app/core/functions.php”中,有一个函数应该将我们带到网站的根目录。

function ldir()
{
 /*
  * Gibt das Verzeichnis auf Webspace aus
    * Wird ben�tigt um Links zu generieren
    *
    */

    return "";

}

我还分享了我尝试访问的链接,该链接可以在“app/view/_header.php”中找到。

  <!-- Navigation -->
              <li class="menu-text"><div class="menu-spacer-vertical"></div></li>
              <li class="menu-text show-for-large"><a href="<?= ldir(); ?>/anzeigen">Startseite</a></li>
              <li class="menu-text show-for-large"><a href="<?= ldir(); ?>/tipps">Tipps</a></li>
              <li class="menu-text show-for-large"><a href="<?= ldir(); ?>/warum-cib">Warum Chance im Beruf?</a></li>
              <li class="menu-text show-for-large"><a href="<?= ldir(); ?>/kontakt">Kontakt</a></li>
              <li class="menu-text show-for-large"><a href="<?= ldir(); ?>/richtlinien">Richtlinien</a></li>
              <li class="menu-text show-for-large"><a href="<?= ldir(); ?>/impressum">Impressum</a></li>

在这里,您还有路由功能和快速链接功能。可以直接在“app”文件夹中找到,特别是在“app/routes.php”中。

if (!isset($_SESSION['quick-links']['links'])) {
    $_SESSION['quick-links']['links'] = array();
}

if (isset($_SESSION['quick-links']['ttl'])) {
    $_SESSION['quick-links']['ttl'] = intval($_SESSION['quick-links']['ttl']) - 1;
}

if (empty($_SESSION['quick-links']['links']) || intval($_SESSION['quick-links']['ttl']) <= 0) {
    $resQL = mysqli_query($db->con(), "SELECT kennziffer FROM kennziffer");
    $_SESSION['quick-links']['links'] = array();
    while ($rowQL = mysqli_fetch_array($resQL, MYSQLI_ASSOC)) {
        array_push($_SESSION['quick-links']['links'], $rowQL['kennziffer']);
    }
    $_SESSION['quick-links']['ttl'] = 72;
}

if (in_array($view, $_SESSION['quick-links']['links'])) {
    header('Location: ' . ldir() . "/anzeige/{$view}");
    exit();
}
// Routes: url=>datei
    $routes = array(
        // Views ohne Parameter
            '' => 'anzeigen',
            'anzeigen' => 'anzeigen',
            'tipps' => 'tipps',
            'warum-cib' => 'warum_cib',
            'kontakt' => 'kontakt',
            'richtlinien' => 'richtlinien',
            'impressum' => 'impressum',
            'nutzungsbedingungen'=>'nutzungsbedingungen',
            'bewerbungsrichtlinien'=>'bewerbungsrichtlinien',
            'datenschutz'=>'datenschutz',
            'hilfe' => 'hilfe',
            'anzeige-aufgeben' => 'anzeige_aufgeben',
            'passwort-aendern' => 'passwort_aendern',
            'passwort-vergessen' => 'passwort_vergessen',
            'passwort-wiederherstellen' => 'passwort_wiederherstellen',
            'sitemap' => 'sitemap',
            'feedback-abmeldung' => 'feedback_abmeldung',
            'meine-bewerbungen' => 'meine_bewerbungen',
            'meine-antworten' => 'meine_antworten',
        // Views mit Parameter
            'anzeige' => 'anzeige',
            'bewerben' => 'bewerben',
            'profil-bearbeiten' => 'profil_bearbeiten',
        // Sonstiges
            'login' => 'login',
        // Admin Views
            'admin' => 'admin/start',
            'dokumentation' => 'admin/dokumentation',
            'zugaenge' => 'admin/zugaenge',
            'suchen' => 'admin/suchen',
            'kennziffern' => 'admin/kennziffern',
            'kriterien' => 'admin/kriterien',
            'projektleiter' => 'admin/projektleiter',
            'firmen' => 'admin/firmen',
            'firmen-premium' => 'admin/firmen_premium',
            'query-builder' => 'admin/query_builder',
            'bewerber' => 'admin/bewerber',
            'stellenanzeigen' => 'admin/stellenanzeigen',
            'kriterien-eintragen' => 'admin/kriterien_eintragen',
            'bewerbungen' => 'admin/bewerbungen',
            'excel' => 'admin/excel',
            'fahrtkosten' => 'fahrtkosten',
            'fahrtkosten-verwalten' => 'admin/fahrtkosten_verwalten',
            'kriterien-definieren' => 'admin/kriterien_definieren',
            'kategorien' => 'admin/kategorien',
            'bewerberantworten' => 'admin/bewerberantworten',
            'tasks' => 'admin/tasks',
            'freigabe-anfordern' => 'admin/freigabe_anfordern',
            'bewerbungen-archiv' => 'admin/bewerbungen_archiv',
            'bewerberinfo' => 'admin/bewerberinfo',
        // Korrespondenzen Views
            'korrespondenzen' => 'korrespondenzen/start',
            'korrespondenzen-vorlagen' => 'korrespondenzen/vorlagen',
            'korrespondenzen-versandprotokolle' => 'korrespondenzen/versandprotokolle',
            'korrespondenzen-versandte-mails' => 'korrespondenzen/versandte_mails'
        );

我相信 .htaccess 文件中可能有某些东西导致了这个问题,所以我也会分享 .htaccess 文件。

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteBase /index.php/
# If your project is in server root then should be: RewriteBase/
# If project is in folder then it should be: RewriteBase /folder_name/

RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^.(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>

有人可以解释一下问题是什么吗?

我尝试更改功能并将根文件夹设置为“public_html”。

function ldir()
{
 /*
  * Gibt das Verzeichnis auf Webspace aus
    * Wird ben�tigt um Links zu generieren
    *
    */

    return "public_html";

}
php html .htaccess

评论

0赞 Yevhen Kuzmenko 10/28/2023
嗨,我认为您可以尝试在.htaccess文件中更改此行:RewriteBase /index.php/ to RewriteBase /
0赞 brombeer 10/28/2023
提示:它是“Rumänen”,而不是“Romänen”
0赞 Stephen Ostermiller 10/29/2023
通常文档根目录设置为 ,因此无需将其包含在 URL 中。public_html
0赞 Gheorghe-Robert Candea 10/30/2023
@YevhenKuzmenko我试过了,但仍然没有改变。
0赞 Gheorghe-Robert Candea 10/30/2023
@StephenOstermiller你到底是什么意思?

答: 暂无答案