Avatar billede aitnemed Novice
26. august 2010 - 17:45 Der er 5 kommentarer og
1 løsning

En metode til at isolere del af URL?

Hej folkens

Mit spørgsmål er drevet af, at jeg gerne vil have, at folk på min hjemmeside let kan finde det de søger, hvis de kommer til at skrive en forkert URL.

Eksempel:

En person er gået ind på www.mitwebsite.dk/test, for at læse mere om "test"... Desværre findes der ikke side, der hedder det - ordet test indgår kun som tekst på sider med andre titler.

Når en person ser www.mitwebsite.dk/test, så viser jeg vedkommende en 404-side med et søgefelt.

Nu kunne jeg godt tænke mig, hvis det var muligt at hente "test" ud af www.mitwebsite.dk/test og placere det i søgefeltet, som forslag til en søgning.

Jeg aner bare ikke hvordan jeg skal gribe dette an!

Mit website er baseret på Wordpress, som har en funktion, der kan returnere URL'en til websitets rod: <?php home_url(); ?>.

Når man kører denne funktion på siden  www.mitwebsite.dk/test, vil den returnere www.mitwebsite.dk.

Er det muligt at lave en funktion, hvor man "fratrækker" det, der returneres af <?php home_url(); ?> fra den aktuelle sides URL, så man står tilbage med den del af URL'en, der er "forkert"?

Mvh. Esben

Ps. Jeg kan en smule PHP og kun javascript hvis det kan copy/pastes.
Avatar billede repox Seniormester
26. august 2010 - 18:26 #1
Avatar billede aitnemed Novice
26. august 2010 - 18:44 #2
Tak for svar.

Jeg kan dog ikke lige se, hvor der er en funktion, som gør det jeg ønsker?

Jeg har allerede opsat en 404-side, der giver en venlig fejlbesked og som opfordrer folk til at søge efter det, som de prøvede at finde. Siden har selvfølgelig også et funktionelt søgefelt.

Det eneste jeg ønsker er, at finde en måde hvorpå jeg i søgefeltet kan indsætte den del af URL'en, der er "dårlig" for at tydeliggøre min opfordring til at søge efter det.
Avatar billede aitnemed Novice
26. august 2010 - 18:48 #3
Aaaah!!

Fandt det: $defectURL = $_SERVER['REQUEST_URI'];

Tak for hjælpen!
Avatar billede aitnemed Novice
26. august 2010 - 19:29 #4
Ok, her er min 404-side.

<?php ob_start(); get_header("404"); ?>
<?php
$post_home_URL = $_SERVER['REQUEST_URI'];
$to_be_served = substr($post_home_URL,1);

?>
<!-- begin colLeft -->
    <div id="colLeft">
    <?php
    <div id="searchPage">
        <form action="<?php home_url( '/' )?>" id="searchformPage" method="get" role="search">
    <div><label for="s" class="screen-reader-text"></label>
    <input type="text" id="s" name="s" value="<?php echo $to_be_served; ?>">
    <input type="submit" value="" id="searchsubmitPage">
    </div>
    </form>                       
    </div>
    <div class="funny404"></div>
    </div>
    <!-- end colleft -->
   
<?php get_sidebar("404"); ?>   

<?php get_footer("404"); exit;?>
Avatar billede repox Seniormester
27. august 2010 - 07:57 #5
Super - hvis det er det der virker for dig, så var det jo godt :)
Jeg faldt i øvrigt over dette plugin - http://wordpress.org/extend/plugins/smart-404/

Jeg ved ikke om det var noget du kunne bruge som alternativ.
Avatar billede aitnemed Novice
27. august 2010 - 08:21 #6
Tak for henvisningen - jeg har godt kigget lidt på plugin'et, men i forhold til hvad jeg har fået lavet nu, er jeg godt tilfreds, så tror det bare vil være ekstra arbejde at få det inkorporeret også.

Kan iøvrigt lige nævne, at jeg bruger plugin'et AA Google 404 i en meget modificeret udgave, hvor jeg bruger plugin'et til kun at fange fejlene og så derefter præsentere min egen 404-side.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester