PDA

Bekijk Volledige Versie : php5: relatieve links in include



Laura
01/08/07, 16:31
Beste allemaal,

Mijn website is pas geleden naar een andere webserver verhuisd, waarop
php5 staat. Op de oude server stond php4.

Sinds dat moment werkt een deel van de php-code van mijn website niet
meer.
Ik gebruik in mijn php-bestanden regelmatig de functie 'include' om
andere (html-)bestanden in het php-bestand te importeren, en hoewel
relatieve links naar de html-bestanden nog steeds werken is het
probleem dat absolute links naar html-bestanden nu niet meer werken.

Hieronder een stukje code van één van mijn php-bestanden:

----------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="dut">
<head>
<title>Ratje-toe: Recepten - Tortellini met artisjokkensaus</title>
<? Include("../meta.htm"); ?>
<link href="../lau.css" rel="stylesheet" type="text/css"
MEDIA="screen">
<link href="../lau-print.css" rel="stylesheet" type="text/css"
MEDIA="print">
</head>

<BODY>

<?
$datum = "13 januari 2007";
?>

<div id="rightcontent">
<a name="top"></a>
<H1>Tortellini met artisjokkensaus</h1>
<? Include("http://www.ratje-toe.nl/hr.htm"); ?>

----------------------

De code <? Include("../meta.htm"); ?> werkt dus nog wel, maar <?
Include("http://www.ratje-toe.nl/hr.htm"); ?> werkt nu niet meer.

Is er een andere oplossing mogelijk dan 'verander alle absolute links
in relatieve links'?

Alvast bedankt,
Laura

jan Reilink
01/08/07, 16:31
Laura wrote:
> Beste allemaal,
>
> Mijn website is pas geleden naar een andere webserver verhuisd, waarop
> php5 staat. Op de oude server stond php4.
>
> Sinds dat moment werkt een deel van de php-code van mijn website niet
> meer.
> Ik gebruik in mijn php-bestanden regelmatig de functie 'include' om
> andere (html-)bestanden in het php-bestand te importeren, en hoewel
> relatieve links naar de html-bestanden nog steeds werken is het
> probleem dat absolute links naar html-bestanden nu niet meer werken.
>
> Hieronder een stukje code van één van mijn php-bestanden:
>

[...]
> <? Include("http://www.ratje-toe.nl/hr.htm"); ?>
>
> ----------------------
>
> De code <? Include("../meta.htm"); ?> werkt dus nog wel, maar <?
> Include("http://www.ratje-toe.nl/hr.htm"); ?> werkt nu niet meer.
>
> Is er een andere oplossing mogelijk dan 'verander alle absolute links
> in relatieve links'?
>

Dit wordt voorzaakt door de allow_url_include directive van PHP 5.2.x
(http://www.php.net/ChangeLog-5.php#5.2.0,
http://nl2.php.net/manual/en/ini.php).
Als je host de php.ini directive 'allow_url_include' (een nieuwe PHP
5.2.x directive) uitgeschakeld heeft dan kan je:
- je host verzoeken dit in te schakelen;
- alle includes aanpassen;

Waarbij de laatste mijn voorkeur zou hebben.

--
Met vriendelijke groet / Best regards,
Jan Reilink, VEVIDA Nederland BV

Postbus 329, 9700 AH GRONINGEN, +31(0)50 - 5492234

Rik
01/08/07, 16:31
Hmm, crossposting is slecht.

Deze vraag was al beantwoord (en de kwestie opgelost) in
nl.internet.www.ontwerp, waar het dan wel offtopic was...

--
Rik Wasmus

Hans
01/08/07, 16:31
On Sat, 28 Jul 2007 21:08:00 +0200, Laura <01v9y3h02@sneakemail.com> wrote:
> Beste allemaal,
>
> Mijn website is pas geleden naar een andere webserver verhuisd, waarop
> php5 staat. Op de oude server stond php4.
>
> Sinds dat moment werkt een deel van de php-code van mijn website niet
> meer.
> Ik gebruik in mijn php-bestanden regelmatig de functie 'include' om
> andere (html-)bestanden in het php-bestand te importeren, en hoewel

> <? Include("http://www.ratje-toe.nl/hr.htm"); ?>

Hoi Laura,

Zag je vragen al een paar keer voorbij komen in diverse groepen. Mocht je
echt lui zijn dan kun je ook eens naar streams kijken, php.net/stream
Neemt natuurlijk niet weg dat je de goede adviezen die je al kreeg moet
negeren, een rewrite is het beste.

Hans

--
IM: hans.wolters@jabber.xs4all.nl
http://lonki.xs4all.nl