url structuur aanpassen redirect alle linkjes

Status
Niet open voor verdere reacties.

damnsharp

Terugkerende gebruiker
Lid geworden
6 jan 2012
Berichten
1.394
Goedemorgen! Vakantie weer voorbij, lekker weer aan de slag. En kom meteen een uitdaging tegen.
Misschien zie ik de oplossing niet doordat ik een tijdje vrij ben geweest, mijn hersenen werken nog niet goed ;-)

Een site heeft als URL www.naam.nl/index.php/paginanaam
Slecht, dat index.php moet eruit. Dat is goed te doen (WordPress site permalinks aanpassen).
Maar hoe laat ik met redirects in htaccess aan Google weten wat de juiste URL is zonder alle URL's te moeten vermelden?

Dus het moet worden www.naam.nl/paginanaam

Bedankt voor meedenken!
 
Is het niet zo dat de oude URL's na de permalink-aanpassing niet meer werken?
 
Hoi @php4u, bedankt voor je reactie!
Als ik de url structuur (permalinks) aanpas dan werkt de site en de oude links gewoon. Alleen bij Google staan dan de oude links nog geregistreerd.
 
Ik snap het even niet. Ik heb ook weleens de linken verkeerd staan en als je dat aanpast bij permalinks, dan staan alle pagina's goed. En eigenlijk hoefde ik niets te redirecten.
Maar kijk eens of de volgende opties wat zijn om te gebruiken.

Je kan het regelen in de DirectAdmin.
https://www.myh2oservers.com/url-redirects-beheren-in-directadmin

Of met 301.
Een 301 redirect is eigenlijk de beste manier om een redirect op te zetten. Een 301 redirect stuurt je automatisch door maar doet dit gelijk op een veilige manier.

Een 301 redirect houdt in dat het een permanente verwijzing is. De bezoekers en zoekmachines worden doorgezet naar de nieuwe URL. SEO technisch gezien zorgt dit er ook voor dat de nieuwe URL de opgebouwde waarde krijgt van de oude URL waar men vandaan komt.

Wanneer je de .htaccess gaat bewerken dien je voor de redirect de volgende code toe te passen:

Redirect 301 /oude/url http://www.jouwdomein.nl/nieuweurl

Zoals het voorbeeld laat zien, zet je eerst de oude URL neer en daarna de nieuwe URL. De nieuwe URL dient de volledige URL te zijn, dus inclusief http:// of https://

Of via 301 via mod_rewrite
Wanneer iemand redirect naar jouw website, maar dit naar de verkeerde URL doet, kan dit ervoor zorgen dat de verkeerde URL een pagerank opbouwd. Vaak is dat niet gewenst. Je kunt de inkomende redirect dan ook afvangen en verwerken naar de URL zoals jij hem wilt hebben. Hier zal dan ook gewoon de pagerank op worden opgebouwd. Dit kan gedaan worden door middel van mod_rewrite. De mod_rewrite methode gebeurd ook in de .htaccess. Echter zit dit wat anders in elkaar dan een gebruikelijke redirect.

Zo'n mod_rewrite redirect kun je als volgt opstellen.

RewriteEngine On
rewritecond %{http_host} ^jouwdomein.nl
rewriteRule ^(.*) http://www.jouwdomein.nl/$1 [R=301,L]
 
@femke98 dank je wel voor je bijdrage. Met die rewriterule zal ik het denk ik wel moeten doen.

Ja zeker moeten er redirects ingesteld worden want bijvoorbeeld onderstaande URL (en nog vele anderen) zijn bij Google bekend:
websitenaam.nl/index.php/zonnepanelen-verkoop/

En de redirect moet wijzen naar
websitenaam.nl/zonnepanelen-verkoop/

Ik ga met de rewriterule wat uitproberen en kom erop terug.
 
Je kan bij Google toch gewoon je foute URL's eruit gooien bij je Webmasters Tools?
 
Je zoekt voor .htaccess een algemene 301 redirect

van: example.nl/index.php/map/submap/page
naar: example.nl/map/submap/page

Het maakt niet uit wat het linkje is, je wilt index.php weg hebben. Bedoel je dit?
 
Niet getest maar kan je hiermee verder?
Code:
RewriteEngine On
RewriteBase /

## redirect /index.php/page naar /page
RewriteRule ^index.php/(.*)$ /$1 [R=301,NC,L]

# rest van WP rewrite
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
 
Yes @bron dat is precies wat ik bedoelde. En zo te lezen niet goed uitgelegd dan denk ik ;-)

Ik ga nu je code testen..
 
Code:
^index.php/(.*)$  /$1  [R=301,NC,L]
^ is begin van te zoeken tekst.
$ is eind van te zoeken tekst.
. is een willekeurig teken.
* is 0 of meer van het voorgaande teken.
(...) is de groep waar je met $1 aan refereert.

[R=301,NC,L]
301 redirect, NoCase (hoofdletter ongevoelig), Last (ga niet verder in htaccess als de RewriteRule moet worden uitgevoerd
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan