301 redirect problem in htaccess
Hallo collega's :)
Ik heb een 301 redirect probleem.
Mijn .htaccess ziet er als volgt uit (deze .htaccess file gebruik ik overigens al jaren, dus misschien issie verouderd?):
butt staat voor de 1e variabele.
vara staat voor de 2e variabele en varb staat voor de 3e variabele.
Onder de rewriteRule heb ik een 301 redirect staan.
Via internet heb ik al verschillende dingen geprobeerd om het op te lossen.
Maar de redirect gaat goed. Ik kon namelijk uit op de volgende URL:
http://www.domeinnaam.nl/naar/demapnaam?butt=demapnaam
De redirect gaat dus wel naar de nieuwe submap "naar", maar zet er vervolgens ?butt=demapnaam achter...
De juiste url moet worden: http://www.domeinnaam.nl/naar/demapnaam
Het is mij een raadsel en hoop dat iemand hier begrijpt waarom dit gebeurd en hoe ik dit op kan lossen.
Ik heb een 301 redirect probleem.
Mijn .htaccess ziet er als volgt uit (deze .htaccess file gebruik ik overigens al jaren, dus misschien issie verouderd?):
butt staat voor de 1e variabele.
vara staat voor de 2e variabele en varb staat voor de 3e variabele.
Onder de rewriteRule heb ik een 301 redirect staan.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
php_value register_globals on
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domeinnaam\.nl [NC]
RewriteRule ^(.*) http://www.domeinnaam.nl/$1 [l,R=301]
ErrorDocument 404 /index.php?butt=404
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?butt=$1&vara=$2&varb=$3 [NC]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)?$ index.php?butt=$1&vara=$2&varb=$3 [NC]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?butt=$1&vara=$2 [NC]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)?$ index.php?butt=$1&vara=$2 [NC]
RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?butt=$1 [NC]
RewriteRule ^([A-Za-z0-9-]+)?$ index.php?butt=$1 [NC]
Redirect 301 /demapnaam http://www.domeinnaam.nl/naar/demapnaam
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domeinnaam\.nl [NC]
RewriteRule ^(.*) http://www.domeinnaam.nl/$1 [l,R=301]
ErrorDocument 404 /index.php?butt=404
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?butt=$1&vara=$2&varb=$3 [NC]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)?$ index.php?butt=$1&vara=$2&varb=$3 [NC]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?butt=$1&vara=$2 [NC]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)?$ index.php?butt=$1&vara=$2 [NC]
RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?butt=$1 [NC]
RewriteRule ^([A-Za-z0-9-]+)?$ index.php?butt=$1 [NC]
Redirect 301 /demapnaam http://www.domeinnaam.nl/naar/demapnaam
Via internet heb ik al verschillende dingen geprobeerd om het op te lossen.
Maar de redirect gaat goed. Ik kon namelijk uit op de volgende URL:
http://www.domeinnaam.nl/naar/demapnaam?butt=demapnaam
De redirect gaat dus wel naar de nieuwe submap "naar", maar zet er vervolgens ?butt=demapnaam achter...
De juiste url moet worden: http://www.domeinnaam.nl/naar/demapnaam
Het is mij een raadsel en hoop dat iemand hier begrijpt waarom dit gebeurd en hoe ik dit op kan lossen.
wat als je ipv [NC] [NC,L] gebruikt?
Als ik [NC,L] overal neerzet ipv de [NC], dus ook achter de RewriteCond dan krijg ik een Internal Server Error.
Als ik alleen de [NC] flags vervang achter de RewriteRule met de butt, vara en varb variabelen dan blijf ik de onjuiste url zien: http://www.domeinnaam.nl/naar/demapnaam?butt=demapnaam
Het vervangen van de [NC] in de [NC,L] werkt dus helaas niet.
Als ik alleen de [NC] flags vervang achter de RewriteRule met de butt, vara en varb variabelen dan blijf ik de onjuiste url zien: http://www.domeinnaam.nl/naar/demapnaam?butt=demapnaam
Het vervangen van de [NC] in de [NC,L] werkt dus helaas niet.
Je kunt al de helft van de rules besparen door
a) te kiezen voor een / aan het eind (of juist niet) en daar naar te redirecten
b) of ipv (.....)/? en daarnaar (.....)? te kiezen voor
(......)?/? waarbij je dus zowel voor het stuk tussen () als de / aangeeft dat het optioneel is.
Scheelt het als je de de 301 regel boven de rewriterules zet?
[NC] zou je ook nog door [L] kunnen vervangen?
a) te kiezen voor een / aan het eind (of juist niet) en daar naar te redirecten
b) of ipv (.....)/? en daarnaar (.....)? te kiezen voor
(......)?/? waarbij je dus zowel voor het stuk tussen () als de / aangeeft dat het optioneel is.
Scheelt het als je de de 301 regel boven de rewriterules zet?
[NC] zou je ook nog door [L] kunnen vervangen?
Ik heb nu het volgende en blijf het zelfde probleem houden:
Heb de Redirect 301 ook op andere posities gezet zoals direct onder de RewriteEngine On, en direct onder de domeinnaam RewriteRule. Maar dat maakt allemaal geen verschil, blijf de foute redirect/url behouden...
Toevoeging op 24/05/2014 10:38:07:
Helaas heb ik het probleem nog steeds niet kunnen oplossen.
Is er verder echt niemand die weet wat ik moet doen om het probleem op te lossen?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<IfModule mod_rewrite.c>
Redirect 301 /demapnaam http://www.domeinnaam.nl/naar/demapnaam
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domeinnaam\.nl [NC]
RewriteRule ^(.*) http://www.domeinnaam.nl/$1 [l,R=301]
ErrorDocument 404 /index.php?butt=404
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)?$ index.php?butt=$1&vara=$2&varb=$3&varc=$4 [L]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)?$ index.php?butt=$1&vara=$2&varb=$3 [L]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)?$ index.php?butt=$1&vara=$2 [L]
RewriteRule ^([A-Za-z0-9-]+)?$ index.php?butt=$1 [L]
</IfModule>
Redirect 301 /demapnaam http://www.domeinnaam.nl/naar/demapnaam
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domeinnaam\.nl [NC]
RewriteRule ^(.*) http://www.domeinnaam.nl/$1 [l,R=301]
ErrorDocument 404 /index.php?butt=404
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)?$ index.php?butt=$1&vara=$2&varb=$3&varc=$4 [L]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)?$ index.php?butt=$1&vara=$2&varb=$3 [L]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)?$ index.php?butt=$1&vara=$2 [L]
RewriteRule ^([A-Za-z0-9-]+)?$ index.php?butt=$1 [L]
</IfModule>
Heb de Redirect 301 ook op andere posities gezet zoals direct onder de RewriteEngine On, en direct onder de domeinnaam RewriteRule. Maar dat maakt allemaal geen verschil, blijf de foute redirect/url behouden...
Toevoeging op 24/05/2014 10:38:07:
Helaas heb ik het probleem nog steeds niet kunnen oplossen.
Is er verder echt niemand die weet wat ik moet doen om het probleem op te lossen?
Hallo allemaal,
Ik ben nu 3 dagen verder en heb nog geen reactie of verdere support gekregen op mijn bovenstaande probleem.
Graag breng ik mijn probleem daarom opnieuw onder de aandacht in de hoop dat iemand mij toch nog verder kan helpen.
Graag hoor ik van jullie :)
Ik ben nu 3 dagen verder en heb nog geen reactie of verdere support gekregen op mijn bovenstaande probleem.
Graag breng ik mijn probleem daarom opnieuw onder de aandacht in de hoop dat iemand mij toch nog verder kan helpen.
Graag hoor ik van jullie :)




