.php uit titel
Ik ben een php hobbyist. Waar ik me aan erger is dat in de browsers bij elke pagina .php ingetikt moet worden, anders wordt de pagina niet gevonden. Hoe kan ik dit (eenvoudig) aanpassen?
Verder ben ik op zoek naar een oplossing om het volgende ook uit de browser te krijgen m.b.t. fotoreportage: http://wandelfreaks.com/fotos.php?vakantie=engelandoktober2017&foto=1.jpg
Ik zoek naar een oplossing om de browsertekst eenvoudiger te maken, terwijl wel de juiste pagina wordt opgeroepen.
Laatste vraag: hoe krijg ik op het tabblad van de browser de tekst <p>blabla</p> weg?
Alvast bedankt voor uw antwoord.
Groet
Digna
Gewijzigd op 22/12/2017 19:51:37 door - Ariën -
https://www.phphulp.nl/php/tutorial/overig/mod-rewrite/536/
Gewijzigd op 18/11/2017 23:21:18 door - Ariën -
Digna Mielard op 18/11/2017 23:19:18:
Waar ik me aan erger is dat in de browsers bij elke pagina .php ingetikt moet worden, anders wordt de pagina niet gevonden.
Als bezoekers via de adresbalk webadressen moeten intypen om door je site te navigeren dan is er iets mis met de interne navigatie van je site.
Digna Mielard op 18/11/2017 23:19:18:
Verder ben ik op zoek naar een oplossing om het volgende ook uit de browser te krijgen m.b.t. fotoreportage: http://wandelfreaks.com/fotos.php?vakantie=engelandoktober2017&foto=1.jpg
Ik zoek naar een oplossing om de browsertekst eenvoudiger te maken, terwijl wel de juiste pagina wordt opgeroepen.
Ik zoek naar een oplossing om de browsertekst eenvoudiger te maken, terwijl wel de juiste pagina wordt opgeroepen.
Over de organisatie van je pagina's/onderdelen kun je -in eerste instantie- prima nadenken zonder hierbij techniek (of een concrete implementatie) te betrekken. Deze dingen (indeling, implementatie) kun je prima in afzondering behandelen.
Digna Mielard op 18/11/2017 23:19:18:
Laatste vraag: hoe krijg ik op het tabblad van de browser de tekst <p>blabla</p> weg?
De titel van de pagina kan enkel platte tekst bevatten, deze ondersteunt geen (speciale) HTML(-tags).
dank voor je reactie.
Ik heb het niet goed omschreven. Bezoekers hoeven niet elke keer een pagina handmatig op te roepen. Alleen bij de eerste keer. De navigatie klopt wel, maar altijd staat .php erachter en ik zou graag willen dat dit niet meer zichtbaar is.
Zoals ik aangeef, ik ben een hobbyist. Mijn site is verre van professioneel en dat geeft niet, maar dit zijn van die dingen die ik graag anders wil en die ik er niet uit krijg.
Ik hoop dat er een simpele oplossing is in het verschil tussen werkelijke paginanaam of fotonaam en de weergave in de browser.
Groet
Digna
Code (php)
1
2
3
2
3
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
]meer informatie
Toevoeging op 19/11/2017 09:54:55:
Professionele php websites Gebruiken ook een .htaccess bestand maar gebruiken deze om alle aanvragen door te sturen naar één en dezelfde php pagina (bijv. index.php) alwaar de URL door PHP zelf uitgelezen wordt en er aan de hand van de aangevraagde URL gekozen welke pagina er geladen wordt. Dit wordt ook wel single point of entry genoemd. Misschien - als php toch je hobby is = eens leuk om te bestuderen.
Dank je wel Frank. Klinkt heel simpel. Ik heb mijn documentroot niet in een aparte directory. Dus alle pagina's hangen onder public_html. Ik heb de .htaccess hierin gezet, maar deze is nu niet meer terug te vinden. Zoals ik heb begrepen moet er niets voor. Alleen .htaccess. Het werkt (nog?) niet.
Je kan het ook uploaden als htaccess.txt en dan daarna hernoemen naar .htaccess.
Om te testen of .htaccess werkt, kan je een random tekst bovenaan het bestand zetten. Indien .htaccess werkt moet dit een 500-error genereren op je website, en als .htaccess niet werkt en dus genegeerd wordt moet je dus gewoon je site zien.
Toevoeging op 19/11/2017 10:44:48:
Duidelijk. De error komt er dus htaccess werkt. Alleen zie ik nog steeds .php achter de naam staan. Hij staat dus op de verkeerde plek denk ik.
Het blijven .php bestanden, en jij wilt dat mensen ze zonder .php extentie oproepen.
Dat kan dat toch?
Gewijzigd op 19/11/2017 11:08:54 door - Ariën -
Ja dat werkt inderdaad wel. Alleen in de browser blijf je .php zien en dat vind ik storend. Maar oproepen zonder .php in te tikken kan nu wel.
Toevoeging op 19/11/2017 11:14:14:
pf je tikt hem in zonder php en dan komt er direct weer php achter te staan?
Hoe kan ik deze aanpassen?
Ik heb een pagina opnieuw opgeslagen zonder .php erachter maar notepad++ slaat hem dan automatisch weer op met .php. Dat moet denk ik ook anders werkt de pagina niet, maar ik wil het niet zichtbaar in de browser hebben.
Toevoeging op 19/11/2017 11:19:49:
Nee wacht. Het gaat wel goed. Stom van me. Mijn browsergeschiedenis zet nu telkens .php erachter. Als ik het nu oproep zonder .php staat het er inderdaad niet meer. Hehe. Dank jullie wel
om die te veranderen naar
Ik hoop dat je geen bestanden in submappen hebt, want ik vrees dat het dan nadelen zal geven, en dat je een extra regel moet opnemen.
Toevoeging op 19/11/2017 11:26:58:
nee ik gebruik geen submappen behalve includes (header, footer, menu) en images en fotos.
Toevoeging op 19/11/2017 11:30:06:
Nu zit ik alleen nog met die afschuwelijke teksten bij foto galerij:
http://wandelfreaks.com/fotos.php?vakantie=denhaag2017&foto=1.jpg
Ik gebruik een zelfgebouwde fotogalerij. Geen idee of ik de weergave in de browser hiervoor ook netter kan maken.
Alleen ben ik zelf niet zo thuis in mod_rewrite.
Ikzelf heb mijn eigen website gebouwd volgens een 'Single point of entry' methode.
Zie ook dit artikel. Dan hoef je niet steeds extra regels te schrijven, omdat je geen $_GET meer hoeft te gebruiken, en alles wat tussen de slashes staat al direct zelf kan extraheren.
Gewijzigd op 19/11/2017 12:10:29 door - Ariën -
Bedankt.
Ik zeg niet dat dit de enige oplossing is, maar het is wel een oplossing die het onderhoud makkelijker maakt, zonder je continu extra regels toe moet voegen als je weer een nieuwe URL-structuur hebt.
En het is natuurlijk nog handiger/beter om dan in PHP een soort van uniforme aanpak te hebben voor al je URL's. Dit heeft dan tot gevolg dat wanneer je je website uitbreidt je hier geen aparte navigatie-code voor bij hoeft te metselen :).
Groet
Digna
Daar maak je dan het .htaccess bestand aan uit Ariën's artikel.
En daarnaast maak je een index.php met deze content:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$uriData = parse_url($_SERVER['REQUEST_URI']);
// echo $uriData['path'];
if($uriData['path'] == '/')
{
echo 'Homepage';
}
else if($uriData['path'] == '/about')
{
echo 'Over ons';
}
else if($uriData['path'] == '/contact')
{
echo 'Contact';
}
else {
header("HTTP/1.0 404 Not Found");
echo 'De pagina die opvroeg bestaat helaas niet.';
}
?>
$uriData = parse_url($_SERVER['REQUEST_URI']);
// echo $uriData['path'];
if($uriData['path'] == '/')
{
echo 'Homepage';
}
else if($uriData['path'] == '/about')
{
echo 'Over ons';
}
else if($uriData['path'] == '/contact')
{
echo 'Contact';
}
else {
header("HTTP/1.0 404 Not Found");
echo 'De pagina die opvroeg bestaat helaas niet.';
}
?>
En stel dat jouw domeinnaam digna-mielard.nl is dan probeer je de volgende url's eens:
Code (php)
1
2
3
4
2
3
4
http://digna-mielard.nl/
http://digna-mielard.nl/about
http://digna-mielard.nl/contact
http://digna-mielard.nl/en-een-niet-bestaande-pagina
http://digna-mielard.nl/about
http://digna-mielard.nl/contact
http://digna-mielard.nl/en-een-niet-bestaande-pagina
Als je dat werkend ziet dan begin je het principe te begrijpen.
?>