Geachte htaccess guru's,

Na een aantal tests op mijn website kwam ik erachter dat mijn htaccess niet werkt zoals ik dat zou willen, ik heb mij al helemaal rot gegoogled maar nergens kom ik dit tegen. Voorbeelden zijn fictief, code echter niet..

Doel:
A. Herschijven van test.nl naar www.test.nl
B. Herschijven van test.nl/nieuws/december naar www.test.nl/nieuws/december

Wat gaat er fout?
A. Dit gaat goed, alles herschrijven van ?id=2 etc.. gaat goed enkel doel B. doet niet wat ik wil.

2. Als ik test.nl/nieuws/december aanspreek verwijst hij hem niet naar de www. variant maar naar de orginele url: www.test.nl/index.php?nieuws=20&maand=12

Hoe los ik dit op?

order allow,deny
allow from all

ExpiresActive On
ExpiresByType image/gif "access plus 1 weeks"
ExpiresByType image/png "access plus 1 weeks"
ExpiresByType image/jpeg "access plus 1 weeks"
ExpiresByType image/x-icon "access plus 1 weeks"
ExpiresByType text/css "access plus 1 weeks"
ExpiresByType text/javascript "access plus 1 weeks"
ExpiresByType application/x-javascript "access plus 1 weeks"
FileETag none

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^blaat$ blaat.php [NC,L]

RewriteRule ^blabla/([^/\.]+)/?$ /blabla.php?ID=$1 [NC,L]

AddHandler application/x-httpd-php .php .html .htm

RewriteCond %{HTTP_HOST} ^test\.nl
RewriteRule ^(.*)$ http://www.test.nl%2%{REQUEST_URI} [R=301,L]


Alvast bedankt.
hai Kris,

Zoals ik al aangaf is er met het rewriten geen probleem, alles gaat goed.
De echte htaccess is nog veel groter btw.. Het gaat enkel om het www.* verhaal waarin je dus de orginele url gaat zien zodra je www. weg laat.

heb je enig idee?
Ik heb even in mijn .htaccess gekeken en daar staat het zo

RewriteCond %{HTTP_HOST} ^tjvb.nl [NC]
RewriteRule ^(.*)$ http://www.tjvb.nl/$1 [L,R=301]
Waarom zou je eigelijk www. weg laten?
dit redirect juist alles naar www.tjvb.nl bij intikken type ik bijna nooit www er voor.
Hai,

Die met een enkele $1 had ik al geprobeerd, maar wil niet werken.
Nog andere suggesties? :)
Wat werkt er dan niet?

Dit is namelijk wat ik heb staan (en wat losse redirects)

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{HTTP_HOST} ^tjvb.nl [NC]
RewriteRule ^(.*)$ http://www.tjvb.nl/$1 [L,R=301]
Okay ga er even vanuit dat alles werkt, zie mijn htaccess..
Wat fout gaat is dat zodra ik www. ervoor weghaal krijg ik hele urls te zien.
dus nieuws=20&maand=12 om even wat geks te zeggen.. en niet de seo variant.. /nieuws/20/12 enz..
Wat is je volgorde?
Je moet eerst die redirect naar www doen en laten stoppen ( met die [L] )
Dan hoort die in je tweede request (want dat is het) de rest afhandelen waaronder je mooie urls.

Als je naar http://TJVB.nl/ws gaat kom je daardoor uit op http://www.tjvb.nl/ws

Options +FollowSymLinks

RewriteEngine On

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

RewriteRule ^ws[/]? ?p=wse [NC]
RewriteRule ^ws[/](.*)? ?p=wse&$1 [NC]
Okay het staat er nu boven, het blijft nu wel staat zoals het hoort!
Enkel nu komt iets anders: als ik het hoofddomein zonder www aanspreek blijft deze zonder ww staan, verder gaat het nu goed..

[size=xsmall]Toevoeging op 16/12/2010 14:15:26:[/size]

Opgelost! 2x erin en in juiste volgorde:

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

RewriteCond %{HTTP_HOST} ^tjvb.nl [NC]
RewriteRule ^(.*)$ http://www.tjvb.nl [L,R=301]

Reageren