Hallo allemaal.
Een maand geleden ben ik overgestapt van windows naar linux mint. Tot nu toe heb ik mijn webdevelopement nog op de oude windowscomputer gedaan, maar nu wil ik dat ook op mijn linux-machine doen en heb LAMP server geinstalleerd.
Alleen krijg ik nu een probleem dat de links in het menu resulteren in een 'not found' page.
Ik heb een htaccess bestand met de rewrite rules:
<IfModule mod_rewrite.c>
# Tell PHP that the mod_rewrite module is ENABLED:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# The rest of your rewrite rules here:
RewriteRule ^([^/]+)?$ index.php?page=$1 [QSA,NC,L]
</ifModule>
En ik heb de mod_rewrite in apache geactiveerd.
Op mijn windows comp. werkt dit uitstekend, echter op de linux comp. werkt dit niet.
Andere verschillen zijn:
Windows draait met apache 2.4.35 en PHP 7.2
Linux draait met apache 2.4.41 en PHP 7.4
Iemand enig idee hoe ik de site ook werkend krijg op de linux computer?
[Tue Nov 03 11:20:17.597144 2020] [php7:warn] [pid 6096] [client 127.0.0.1:54734] PHP Warning: include(): Failed opening '/content/home.php' for inclusion (include_path='.:/usr/share/php') in /var/www/html
Wat ik zie is dat het pad /usr/share/php aangeroepen wordt. In de usr/share heb ik de folders php7.4-common, php7.4-json, php7.4-mysql, php7.4-opcache, php7.4-readline. Géén enkel php.
content/home.php bestaat, dat is zeker.
Betreft de rechten???
Ik heb de rechten voor de /var/www map aangepast met $ sudo chown -R username /var/www
Moet ik nog iets meer doen?
Ja, dat werkt wel.
Maar ik snap nog niet zo goed, waarom de andere niet werkt. Dit is wat ik heb:
In de indexpagina van de site, dus in de root van de site:
<?php
if (!isset($_GET['page'])) {
//url-variabele bestaat niet, geef beginpagina
include('content/home.php');
}
else {
//url-variabele bestaat wel, definieer bestand
$page = 'content/'.$_GET['page'].'.php';
if (file_exists($page)) {
//pagina bestaat, laat zien
include($page);
}
else {
//pagina bestaat niet
echo 'De opgevraagde pagina bestaat niet.';
}
}
?>
In de submap 'content' heb ik de verschillende pagina's aangebracht, dus dat deel van de pagina's dat wijzigt. In de index zijn header, menu en footer als steeds terugkomend gedefinieerd.
Ik zou niet weten hoe het zou kunnen dat owners of chmod-rechten anders zijn.