achtervoegsel/ suffix weglaten
ik heb een website met 4 pagina's. Allen hebben ze de extensie .html
Wat ik graag wil is dat bij al deze pagina's de suffix/ achtervoegsel wordt weggelaten, dis dat .html niet meer te zien is voor anderen.
Weet iemand van jullie hoe ik zoiets kan aanpakken om dat voor elkaar te krijgen?
Ik dank jullie van harte!!!
Bartholomeus
Bedankt voor je reactie, ik heb de code die je me hebt doorgestuurt bestudeert:
RewriteCond % {REQUEST FILENAME} !-d
RewriteCond % {REQUEST FILENAME} \.html –f
RewriteRule ^ (.*) $ $1.html
Ik snap er alleen helemaal niks van. Hoe moet ik het bovenstaande dan toepassen om voor mijn 4 pagina's (index.html, portfolio.html, contact.html en about.html) de suffix/schtervoegdel .html we te laten? Ik hoop dat je me nog iets verder op weg kunt helpen.
Er vanuitgaande dat de code van Marco werkt, dan moet je dit doen:
- .htaccess bestand aanmaken in de root van je website
- code van Marco kopiëren en plakken in het .htaccess bestand
- bestand opslaan
Via www.mijnsite.nl/portfolio zou je dan het juiste bestand (portfolio.html) moeten kunnen aanroepen.
bedankt voor de reacties voor zover. Echter wanneer ik mijn pagina's nu laad in de browser krijg ik de melding "Internal Server Error" the server encountered and internal error or misconfiguration and was unable to complete your request.
Ik heb alle aanwijzingen strict opgevolgd. Even recaputileren:
1. Code van Marco exact gekopieerd en opgeslagen in een .HTACCESS bestand. 2. Het bestand vervolgends in de root van mijn www map geplaats (wamp -> www)
Net ook al even gekeken in bin/apache voor de (error)logs bestanden maar niks kunnen vinden wat mij naar de oplossing brengt.
weet iemand wat ik fout doe?
dan is er iets mis met je htaccess
@CEM, heb je de letterlijke code van Marco in een .htaccess bestand gezet in de webroot? Want er is niks fout aan die code.
Windows 7 pc 64 bit
WAMP SERVER
in de www map 3 mappen:
softwarehuis_semafoor
evenvoorstellen
beterbit
Elke map is dus om een eigen website. Het bestand .htaccess heb ik direct in de www, map gezet, dus niet rechtstreeks in een van de drie bovenstaande mappen.
Moet ik wellicht nog iets in het configuratie bestand http.conf aanpassen ofzo. ik hoop dat jij mij kan helpen.
Toevoeging op 27/12/2011 13:05:12:
Antwoord voor Wouter::
ja ik heb de lettelijke code in de root gezet. Dus niet in de map waar alle bestanden en mappen inzetten mbt de website maar rechtsteeks in de www map geplaatst
CEM Du Pond op 27/12/2011 13:02:15:
correct Pepijn ik krijg i.d.d. een 500 Internal Server Error. Het gaat toch echt om een zuiver .HTACCESS bestand. Dit is de situatieschets:
Windows 7 pc 64 bit
WAMP SERVER
in de www map 3 mappen:
softwarehuis_semafoor
evenvoorstellen
beterbit
Elke map is dus om een eigen website. Het bestand .htaccess heb ik direct in de www, map gezet, dus niet rechtstreeks in een van de drie bovenstaande mappen.
Moet ik wellicht nog iets in het configuratie bestand http.conf aanpassen ofzo. ik hoop dat jij mij kan helpen.
Toevoeging op 27/12/2011 13:05:12:
Antwoord voor Wouter::
ja ik heb de lettelijke code in de root gezet. Dus niet in de map waar alle bestanden en mappen inzetten mbt de website maar rechtsteeks in de www map geplaatst
Windows 7 pc 64 bit
WAMP SERVER
in de www map 3 mappen:
softwarehuis_semafoor
evenvoorstellen
beterbit
Elke map is dus om een eigen website. Het bestand .htaccess heb ik direct in de www, map gezet, dus niet rechtstreeks in een van de drie bovenstaande mappen.
Moet ik wellicht nog iets in het configuratie bestand http.conf aanpassen ofzo. ik hoop dat jij mij kan helpen.
Toevoeging op 27/12/2011 13:05:12:
Antwoord voor Wouter::
ja ik heb de lettelijke code in de root gezet. Dus niet in de map waar alle bestanden en mappen inzetten mbt de website maar rechtsteeks in de www map geplaatst
Je wamp gegevens maken niks uit mag ik de hele code zien ik kan het fixen.
TYPE: HTACCESS-bestand
---------------------------------------------------------------------
CODE:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
@Du Pond, je gebruikt wamp. Die heeft standaard de mod_rewrite module uit staan. Die moet je dus aanzetten:
1) Start wamp op
2) klik op het wamp icon in de taakbalk
3) klik op apache > httpd.conf
4) zoek naar deze regel:
5) Haal de # voor de regel weg en sla het bestand op
6) Klik nu weer op het wamp icon en restart all services
7) Ga naar de phpinfo pagina van wamp en kijk of je bij Apache > Loaded Modules mod_rewrite ziet staan.
Mijn webpagina's hebben nu echter nog wel allemaal het suffix/achtervoegsel .html wanneer ik ga testen in de browser en wanneer ik bij de desbestreffende pagina's .html weglaat dan krijg ik de melding: 404 not found. Zal ik nog wat moeten doen ofzo voordat ik uiteindelijk mijn doel bereik:
Webpagina's zonder suffix/achtervoegsel
En PHP.ini is fout, ik denk dat je httpd.conf bedoelt?
En ik heb ook altijd nog problemen met HTACCESS op wamp, misschien moet je even googlen wat ik kom er ook niet uit.
Toevoeging op 27/12/2011 15:15:55:
wouter toch nog een klein vraagje...
als ik alles nu op de server zou zetten zou de suffix dan wel weggelaten worden?
Dus jij typt:
www.mijnsite.nl/pagina
Onderwater wordt dan dit aangeroepen:
www.mijnsite.nl/pagina.html
@CEM, ja op een server die HTACCESS mod_rewrite aan heeft staan werkt het, anders niet.
Plak dit in je .htaccess
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
Options -Indexes
<ifModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
</ifModule>
<ifModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
</ifModule>
is er nog een 500 error, probeer dan in je http config de functie mod_rewrite.c te includen. zoals Wouter J al aangaf. succes!
Gewijzigd op 28/12/2011 01:03:25 door Marco Bos