Avatar billede nemlig Professor
11. august 2007 - 12:48 Der er 17 kommentarer og
2 løsninger

Defination af links driller

Jeg er ved at ændre en hjemmeside. Problemet er at de forskellige links virker fint på den nuværende server, men jeg aftester på en anden, men her virker linkene ikke. Kan det være noget serverbestemt.

Index.php liger i roden og ser sådan her ud:

<?php
require_once("inc/header.inc.php");
require_once("inc/".$id.".inc.htm");
require_once("inc/footer.inc.php")
?>

Alle andre sider ligger i undermappen "inc".

På de forskellige sider og i menusystemet er der defineret forskellige links, fx. sådan her:

Se <a href="statistik">statistikken</a>

Dette link kalder siden "statisk.inc.php" og virker på serveren, men ikke på min testserver eller hos mig selv, hvor jeg kører Wampserver.

Øverst i header.inc.php ligger følgende kode:

/ Global constants
// Set $id value based on REQUEST_URI for nice slash-delimited URL's
define(DEFAULT_ID,'forside');
$id_values = array_reverse(explode("/",$_SERVER['REQUEST_URI']));
if($id_values[0]=='') array_shift($id_values);
$id = (!file_exists("inc/".$id_values[0].".inc.htm")) ? DEFAULT_ID : $id_values[0] ;
Avatar billede erikjacobsen Ekspert
11. august 2007 - 12:53 #1
"driller", "virker [...] ikke" - hvordan ytrer det sig?
Avatar billede nielle Nybegynder
11. august 2007 - 12:57 #2
Det kunne muligvis tænkes at der er sat noget url-rewriting på på serveren, som automatisk oversætter "statistik" til "statisk.inc.php", og at dette ikke er sat op hos dig selv.
Avatar billede nemlig Professor
11. august 2007 - 13:02 #3
erik: Virker ikke - når der trykkes på et menupunkt eller et link og den dermed skal hente en side fra mappen "inc", vises siden ikke, men der IE kvitterer med "siden blev ikke fundet".

nielle: Det er her jeg tror problemet er, men ved ikke hvad der skal til, for det virker på en anden server eller på min egen wamp-server. Ham der oprindeligt har lavet hjemmesiden, ejer også serveren.
Avatar billede nielle Nybegynder
11. august 2007 - 13:09 #4
Jeg ved ikke lige hvordan man sætter url-rewriting op på en apache, men det kan man sikkert Google sig til.

Ved nærmere eftertanke tror jeg mer at den rewriter "statistik" til "?id=statistik" for dette ville passe bedre med:

require_once("inc/".$id.".inc.htm");

Afhængig af om hvordan sikkerhedsniveauet er sat op på serveren, kan det også være at denne skal ændres til:

require_once("inc/" . $_GET["id"] . ".inc.htm");
Avatar billede nemlig Professor
11. august 2007 - 13:17 #5
Det er den ikke glad for. Jeg får denne fejl:
Warning: require_once(inc/.inc.htm) [function.require-once]: failed to open stream:
Avatar billede erikjacobsen Ekspert
11. august 2007 - 13:50 #6
Har du en .htaccess fil ?
Avatar billede nemlig Professor
11. august 2007 - 13:54 #7
Jeps, men var ikke opmærksom på at den lå der. Indholder ser sådan her ud:

Options FollowSymLinks
RewriteEngine on

RewriteCond %{REQUEST_FILENAME}  -d
RewriteRule  ^.*$  -  [L]

RewriteCond %{REQUEST_FILENAME}  -f
RewriteRule  ^.*$  -  [L]

RewriteRule ^.*$    index.php [L]
Avatar billede nemlig Professor
11. august 2007 - 13:58 #8
Nu har jeg kopieret den over på den anden server og min wampserver. Men så kommer denne fejl:

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, support@one.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
Avatar billede erikjacobsen Ekspert
11. august 2007 - 13:58 #9
Er din wamp-server sat på til at man kan bruge .htaccess ?
Avatar billede erikjacobsen Ekspert
11. august 2007 - 13:58 #10
Og hvad står der så i din error log?
Avatar billede nemlig Professor
11. august 2007 - 14:12 #11
Jo - men det skal jo også gerne virke hos fx. www.one.com, hvor jeg ikke har indflydelse på serveropsætning.
Hos one.com lå der en .htaccess fil i forvejen, så denne server må jo være sat op til det, men jeg får samme fejl hos dem.

Wampserveren har logget dette:
[Sat Aug 11 13:54:38 2007] [alert] [client 127.0.0.1] C:/wamp/www/rallyday/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
Avatar billede erikjacobsen Ekspert
11. august 2007 - 14:15 #12
Det skal jo kun virke ved one.com hvis det kan ;)

Fejlbeskeden plejer at betyde at modrewrite ikke er slået til. Jeg kender ingenting til one.com.
Avatar billede nemlig Professor
11. august 2007 - 14:19 #13
Er konklusionen så, at den måde hjemmesiden er skrevet på, ikke er hensigtsmæssigt, hvis den skal kunne køre på servere, hvor man ikke har indflydelse på serveropsætning.
Avatar billede erikjacobsen Ekspert
11. august 2007 - 14:23 #14
Hvis hjemmesiden skal kunne køre på samtlige mulige servere og webhoteller, så har du vel ret. Men hvorfor dog stræbe efter den laveste fællesnævner? At omskrive URL-er er en ganske fornuftig ting at gøre og kunne, og der er masser af webhoteller, der tilbyder dette.
Avatar billede nemlig Professor
11. august 2007 - 14:37 #15
Erik: tak for dine gode input - problemet var netop .htaccess filen. Jeg har det nu kørende på en 3. server, hvor der heller ikke virkede før. Jeg er sådan set enig i din sidste betragtning.
Nielle: Også tak for dine input og medvirken til løsningen.

Jeg forhøjer pointene, så I begge får 60.
Avatar billede nemlig Professor
11. august 2007 - 14:37 #16
Sender I lige et svar.
Avatar billede erikjacobsen Ekspert
11. august 2007 - 14:59 #17
Ingen point til mig, tak. Samler ikke.
Avatar billede nielle Nybegynder
11. august 2007 - 15:03 #18
Rent faktisk er den ikke hensigtsmæssig - der er i hvertfald et stort sikkerhedshul hvis man ikke laver nogen som helst validering på hvad der i linket.

Jeg kan kun tage imod det oprindelige antal point. Tag du bare selv overskudet. :^)
Avatar billede nemlig Professor
11. august 2007 - 15:04 #19
Så siger jeg mange tak.
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