Redirecten oude website met index.php/ linkjes

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • eerdepeer
  • Registratie: November 2001
  • Laatst online: 10-06 16:10
Ik heb samen met de nieuwe website die ik heb gemaakt een .htaccess geupload. Alleen staan er nog oude links in google die niet goed worden geredirect. Het grote probleem is dat de structuur van de oude website (volgens mij Joomla) en de nieuwe (gewone html icm php) niet overeen komt.

In de .htaccess staat het volgende:
code:
1
2
3
4
5
ErrorDocument 400 /index.php
ErrorDocument 401 /index.php
ErrorDocument 403 /index.php
ErrorDocument 404 /index.php
ErrorDocument 500 /index.php


De oude link is bijv: http://www.website.nl/index.php/contact/contactformulier

terwijl de nieuwe link gewoon http://www.website.nl/contact.php is. Hoe kan ik al deze door Google gecachte linkjes nou allemaal redirecten naar mijn nieuwe index.php ?

Acties:
  • 0 Henk 'm!

Verwijderd

Zorgen dat die URL's een Redirect Permanent response geven, dus HTTP status code 301.

Acties:
  • 0 Henk 'm!

  • eerdepeer
  • Registratie: November 2001
  • Laatst online: 10-06 16:10
Maar hoe kan ik dat doen? De nieuwe website heeft als homepage index.php en de oude website had links die begonnen met index.php/paginanaam.

En het toevoegen van:
code:
1
Redirect 301 /index.php/contact/contactformulier /index.php


Geeft een server error op alle pagina's, ook de nieuwe!

[ Voor 36% gewijzigd door eerdepeer op 24-03-2010 20:00 ]


Acties:
  • 0 Henk 'm!

Verwijderd

*snip*

[ Voor 92% gewijzigd door MueR op 25-03-2010 08:48 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Hoe je dat kunt doen is door je te verdiepen in hoe de server kan worden geconfigureerd en hoe je HTTP headers kunt manipuleren.

Sleutelwoorden: mod_rewrite, RewriteCond en RewriteRule

Je kunt natuurlijk ook alles laten rewriten naar een enkel script, en de rest met PHP doen. Dat is meestal ook de beste manier.

Acties:
  • 0 Henk 'm!

  • eerdepeer
  • Registratie: November 2001
  • Laatst online: 10-06 16:10
Hmm :| maar eens naar zoeken dan...

code:
1
Redirect 301 /index.php/ http://www.website.nl/


heeft mij ook nog niet verder geholpen. Deze link zorgt ervoor dat de link www.website.nl/contact/contactformulier wordt in plaats van gewoon naar de www.website.nl te verwijzen.

Ik heb een dergelijke verwijzing nog nooit gemaakt, vandaar dat ik het probleem slechts deels begrijp. (en sommigen denken dat ik er niet naar google)

Acties:
  • 0 Henk 'm!

Verwijderd

eerdepeer schreef op woensdag 24 maart 2010 @ 20:10:
[..]

(en sommigen denken dat ik er niet naar google)
*snip*

[ Voor 20% gewijzigd door MueR op 25-03-2010 08:48 ]


Acties:
  • 0 Henk 'm!

  • eerdepeer
  • Registratie: November 2001
  • Laatst online: 10-06 16:10
Wel erg flauw hoor. Ik ben er nog steeds niet uit.

Ik heb het volgende gevonden om domein.nl naar www.domein.nl te linken:

code:
1
2
3
RewriteEngine On
rewritecond %{http_host} ^jouwsite.nl
rewriteRule ^(.*) http://www.jouwsite.nl/$1 [R=301,L]


Maar ik heb geen idee hoe ik dat om kan zetten dan alles wat: www.website.nl/index.php/maaktnietuitwat
wordt doorgelinkt naar: www.website.nl/index.php

Moet ik de rewrite dan omzetten naar (?) :

code:
1
2
3
RewriteEngine On
rewritecond %{http_host} www.jouwsite.nl/index.php/^
rewriteRule ^(.*) http://www.jouwsite.nl/index.php [R=301,L]


Als iemand mij kan vertellen dat dit ok is, voordat ik de hele site onbruikbaar maak, dan zou ik dat zeer waarderen.

Acties:
  • 0 Henk 'm!

  • eerdepeer
  • Registratie: November 2001
  • Laatst online: 10-06 16:10
Uiteindelijk heb ik het opgelost hoor. Ik begreep er niets van en de redirect was gewoon goed, alleen was ik vergeten de redirect te 'activeren' in de htaccess. Ik was teveel gefocust op het doorlinken zelf.

De uiteindelijke code is geworden:
code:
1
2
3
4
5
6
Options +FollowSymLinks
 
RewriteEngine On
RewriteBase /

RewriteRule ^index.php(.*)$ http://www.website.nl/ [R=301,L]


Alle linkjes met http://www.website.nl/index.php/maaktnietuitwat worden nu doorgestuurd naar http://www.website.nl/ :Y)
Pagina: 1