Autor Zpráva
Václav B
Profil
Dobrý den,

Potřebuji upravit jedny stránky k obrazu svému. Původní zdroj není moje dílo, ale je k volnému stažení. Stránky jsou na mém domácím LEMP serveru.
V index.php je toto:
<?php
    ...   
    $a = $_REQUEST['a'];
    
       require 'header.php';
    if($a == 'start' || $a == 'results' || $a == 'view_questions')
        {
            //start new questions
            require 'classes/class_ask.php';
            $ask = new ask;            
            if($a == 'start')
                {
                    $ask->start();
                }
            elseif($a == 'results')
                {
                    $ask->results();
                }
            elseif($a == 'view_questions')
                {
                    $ask->list_questions();
                }

        }   
        elseif($a == 'terms') 
        {
           include 'inc/terms.php';   
        }  
        elseif($a == 'privacy-policy') 
        {
           include 'inc/privacy.php';   
        }             
        elseif($a == 'contact') 
        {
           include 'inc/contact.php';   
        }             
        else
        {
           //show homepage
            include('inc/homepage.php');   
        }    
    
    require('footer.php');

    if($db_use == 1)
    {
        $db->disconnect();
    }
                    

Po zadání adresy serveru se stránka načte a ukáže se tak jak má včetně header.php a footer.php...vševypadá v pořádku.

Ve footer.php je, mimo jiné, toto:

...
<li><a href="<?=$conf['main_url']?>">Home</a></li>
            <li><a href="<?=$conf['main_url']?>contact/">Contact Us</a></li>
            <li><a href="<?=$conf['main_url']?>terms">Terms</a></li>
            <li><a href="<?=$conf['main_url']?>privacy/">Privacy Policy</a></li>
            ...
            
Problém je, že když na načtené stránce kliknu na odkaz "Contact", nebo "Terms ", nebo "Privacy Policy" tak mi prohlížeč zahlásí "404 -Not found." Ty soubory tam ale jsou a jsou vůči index.php vnořeny v adresáři inc/ - tak, jak je napsáno v index.php.

Jsem touto problematikou dosud celkem nepolíben, ale nějak nemohu najít tu chybu.

Díky za rady
Keeehi
Profil
Jak vypadá soubor .htaccess?
Václav B
Profil
Keeehi:
Obávám se, že žádný nevidím. :-/ (mám zobrazený i skrytý soubory)
Lonanek
Profil
Co obsahuje proměnná $conf['main_url']?
asi by tedy mělo být ve footeru:
...
<li><a href="<?=$conf['main_url']?>">Home</a></li>
            <li><a href="<?=$conf['main_url']?>/inc/contact.php">Contact Us</a></li>
            <li><a href="<?=$conf['main_url']?>/inc/terms.php">Terms</a></li>
            <li><a href="<?=$conf['main_url']?>/inc/privacy.php">Privacy Policy</a></li>
...
nebo
...
<li><a href="<?=$conf['main_url']?>">Home</a></li>
            <li><a href="<?=$conf['main_url']?>?a=contact">Contact Us</a></li>
            <li><a href="<?=$conf['main_url']?>?a=terms">Terms</a></li>
            <li><a href="<?=$conf['main_url']?>?a=privacy-policy">Privacy Policy</a></li>
...
Václav B
Profil
Lonanek:
Tisíceré díky. Druhá varianta je správně. Tohle by mě asi nenapadlo. V $conf['main_url'] je url serveru včetně cesty k adresáři s index.php, na konci je / , takže první variantu jsem ani nezkoušel.
Ale je fakt, že ta první varianta by asi (bez těch prvních lomítek) taky fungovala.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: