Probleem met htaccess seo vriendelijk!

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Kees Mulder

Kees Mulder

20/04/2020 15:24:53
Quote Anchor link
Ik probeer een htaccess file toe te voegen aan mijn website voor een seo vriendelijke site alleen loop ik vast.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
RewriteEngine on

RewriteCond %{HTTP_HOST} !^www\.website\.nl [NC]
RewriteRule ^(.*)$ https://www\.website\.nl/$1 [L,R=301]

# Als de naam + .php bestaat, mag de regel pas toegepast worden.
RewriteCond %{REQUEST_FILENAME}\.php -f

# Schrijft .php achter de url.
RewriteRule ^(([^/]+/)*[^.]+)$ $1.php [L]

#verwijder .php
#RewriteCond %{THE_REQUEST} \.php
#RewriteRule ^(.*)\.php$ /$1 [R=301,L]

#URL Friendly
RewriteRule ^entertainment/(.*) item.php?url=$1


Wat werkt is www.website.nl/entertainment (dit is dan de file entertainment.php)

Maar wat niet werkt is www.website.nl/entertainment/pipo (dit is dan de file item.php). Ik krijg dan een 500 internal error.

Iemand enig idee wat ik niet goed doe?
 
PHP hulp

PHP hulp

16/08/2022 09:49:42
 
- Ariën  -
Beheerder

- Ariën -

20/04/2020 15:28:28
Quote Anchor link
En wat zegt de error_log over de de foutmelding?
 
Thomas van den Heuvel

Thomas van den Heuvel

20/04/2020 15:38:24
Quote Anchor link
Erm, bovenstaande htaccess file kan een stuk korter?

Een enkele voordeur voor je applicatie (single point of entry) verdient ook de voorkeur. Dit is meestal /index.php

Vanwaar het onderscheid tussen /entertainment en de rest?

Waarom stuur je niet alles door naar één bestand?

En als het PHP-bestand bestaat, dan stop je verdere verwerking door de rewrite engine.
 
- Ariën  -
Beheerder

- Ariën -

20/04/2020 15:43:31
Quote Anchor link
Wat Thomas zegt is inderdaad een goede optie, maar het vergt wel mogelijk een grondige verbouwing van je applicatie, waardoor je jouw index.php ombouwt tot een 'voordeur' in plaats dat je nu met rewrite-rules via diverse ramen van je huis probeert binnen te komen, zoals via je 'entertainment' kamer.
 
Kees Mulder

Kees Mulder

20/04/2020 15:47:16
Quote Anchor link
In die single point entry had ik me nog niet verdiept maar kan voor de toekomst zeker een oplossing zijn.

Maar voor nu weet ik niet hoe ik dit probleem kan oplossen.

De file item.php bestaat gewoon en wil dan
www.website.nl/entertainment/pipo (= www.website.nl/item.php?artiest=pipo)
www.website.nl/entertainment/peppi (= www.website.nl/item.php?artiest=peppi)
www.website.nl/entertainment/mamaloe (= www.website.nl/item.php?artiest=mamaloe)

De file haalt dan de gegevens uit de dbase.

Daarnaast heb ik dan een overzicht: www.website.nl/entertainment.php wat nu www.website.nl/entertainment is.
Gewijzigd op 20/04/2020 15:50:49 door Kees Mulder
 
- Ariën  -
Beheerder

- Ariën -

20/04/2020 15:51:03
Quote Anchor link
Wat zegt de error_log? Dat lijkt mij het interessantste als je aangeeft dat je een error 500 krijgt.
 
Thomas van den Heuvel

Thomas van den Heuvel

20/04/2020 16:09:55
Quote Anchor link
Op het moment dat je van RewriteRules gebruik gaat maken loont het misschien ook de moeite om de PHP-bestanden waar in de RewriteRules naar verwezen wordt buiten de webdirectory te trekken ten einde botsingen tussen "virtuele paden" en fysieke bestanden te voorkomen, tenzij de PHP-bestanden dus een bestaandsrecht hebben in de webdirectory.

De enige PHP-bestanden die dan in principe in de webdirectory horen zijn dan dus je single point of entry (/index.php) en eventuele standalone scripts die je af en toe uitvoert om bepaalde taken uit te voeren.

Mogelijk kom je met de bovenstaande .htaccess in een oneindige loop terecht, omdat je heen en weer pingpongt tussen een aanroep met en zonder .php-extentie. Ook is dit mogelijk een "lek" wat uitgebuit kan worden om jouw webserver op de knieën te krijgen.

Heb je toevallig in jouw netwerktab al gekeken hoe vaak je geredirect wordt? Overigens is het niet nodig om voor een (interne) verwijzing/mapping een (externe) redirect te doen. Dit kan rechtstreeks en hoeft niet, en zou niet uit hoeven te monden in een extra request.
Gewijzigd op 20/04/2020 16:12:20 door Thomas van den Heuvel
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.