Goedendag,

Heb na jaren lang aan ontwikkeling een cms systeem eindelijk afgekregen
Het ziet er vervolgens zo in elkaar

het pagina structuur was seo onvriendelijk

pagina.php?PageId=222 -

na rond neuzen is 't mij eindelijk gelukt om het seo vriendelijk te maken

eerste was het www.[websitenaam].nl/nl/Pagina/Over-ons

daarna vond ik 't URL TE lang heb ik 't "Pagina" weg gehaald en zag het er zo er uit "website.nl/nl/Over-ons"

maar het probleem is

als er in het url foute pagina getypt wordt krijg je geen foute pagina tevoorschijn terwijl het bij het instelling in het htacces voor website.nl/nl/Pagina/Over-ons wel verscheen

htaccess bestand ziet er zo eruit


AddCharset UTF-8 .html
AddDefaultCharset UTF-8
AddType 'text/html; charset=UTF-8' html
AddType application/x-httpd-php .php .htm .html

Options +FollowSymLinks
RewriteEngine on 
#rewritebase /

RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule !.*\.html$ %{REQUEST_FILENAME}.html [L]

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.html$ %{REQUEST_FILENAME}.php [L]

RewriteEngine On
RewriteRule	^([A-Za-z0-9-]+)/?$ test-pagina.php?PageId=$1

RewriteEngine On
RewriteRule	^([A-Za-z0-9-]+)?$ test-pagina.php?PageId=$1

RewriteEngine On
RewriteRule ^/([a-zA-Z0-9_-]+) test-pagina.php?PageId=$1

RewriteEngine On
RewriteRule ^Berichten/([0-9]+)/([a-zA-Z0-9_-]+) Berichten.php?PageId=$1


waar kan het fout aan liggen?

Je hoeft maar één keer RewriteEngine On te gebruiken om de rewrite engine in te schakelen.

Waar je nu RewriteEngine On herhaalt, lijkt een RewriteCond te ontbreken. Na een rewrite-conditie (RewriteCond) hoort een rewrite-regel (RewriteRule) te volgen: als aan een conditie wordt voldaan, wordt de bijbehorende regel uitgevoerd.
Hallo Ward, Bedankt voor je reactie!

dus zo iets?

RewriteEngine on
RewriteCond %{HTTP_HOST} ^website/.nl$ [NC]
RewriteRule ^(.*)$ https://www.website.nl/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.html$ http://www.website.nl/$1 [R=301,L]
Ja, dat is al beter.

Als aan geen enkele conditie wordt voldaan, kun je aan het einde tot slot de 404 Not Found afhandelen. Dat wordt dan de laatste RewriteCond. Wat we daarmee in de praktijk vaak doen, is die afhandelen met de hoofdapplicatie /index.php, de "front controller" van je site.
Vervolgens rekent deze front controller (de "single point of entry" in je applicatie) op grond van de REQUEST_URI (direct of indirect) uit welke pagina geserveerd dient te worden. De uitkomst van die rekensom kan ook zijn dat de pagina niet bestaat of dat je deze vanwege rechten niet mag/kan zien. In beide gevallen zou je dan een 404 pagina kunnen serveren.

Reageren