Combineren van 301 permanent redirects en rewrite url's

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • GlennVd
  • Registratie: Januari 2008
  • Laatst online: 28-09 19:19
Voor een nieuw website project gebaseerd op fuelphp maak ik gebruik van mod rewrite. Hiervoor had ik deze htaccess regels:
code:
1
2
3
RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]


Dit werkte op zich perfect. Nu heb ik voor mijn sites zowel de .com, .net, .org als .be en .nl domeinnamen besteld. Deze staan opgesteld met een A record op de .com en CNAME's op de rest.

Nu wilde ik (oa voor SEO doeleinden) 2 url's overhouden: www.domein.com en www.domein.be voor respectievelijk de engelstalige en nederlandstalige website. Ik wou mbhv mod_rewrite dan 301 redirects opzetten om dit te bereiken, daarvoor heb ik volgende rewrite rules:
code:
1
2
3
4
5
6
7
8
9
10
11
RewriteCond %{HTTP_HOST} ^domein\.com$ [NC,OR]
    RewriteCond %{HTTP_HOST} ^domein\.net$ [NC,OR]
    RewriteCond %{HTTP_HOST} ^www\.domein\.net$ [NC,OR]
    RewriteCond %{HTTP_HOST} ^domein\.org$ [NC,OR]
    RewriteCond %{HTTP_HOST} ^www\.domein\.org$ [NC]
    RewriteRule ^(.*)$ http://www.domein.com/$1 [R=301,L]

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


Deze werken volgens mij ook correct. De combinatie van de 2 geeft mij echter problemen, de server doet helemaal niet wat ik wil.

Ik heb al proberen spelen met de L (last) flags en zelfs de rewriteCond's samen te voegen (in 4 aparte gevallen uiteraard) maar allemaal tevergeefs.

Heeft iemand enig idee hoe ik dit kan aanpassen voor een passend resultaat? Of sla ik hier helemaal de bal mis?

Alvast bedankt! :D

Acties:
  • 0 Henk 'm!

  • GlennVd
  • Registratie: Januari 2008
  • Laatst online: 28-09 19:19
Ik heb het nu tijdelijk even aangepast, maar volgens mij cascaden deze htaccess files, dus dit zou geen probleem mogen geven, in mijn root heb ik deze htaccess file:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<IfModule mod_rewrite.c>
    RewriteEngine on
    
    #RewriteBase /

    RewriteCond %{HTTP_HOST} ^domein\.com$ [NC,OR]
    RewriteCond %{HTTP_HOST} ^domein\.net$ [NC,OR]
    RewriteCond %{HTTP_HOST} ^www\.domein\.net$ [NC,OR]
    RewriteCond %{HTTP_HOST} ^domein\.org$ [NC,OR]
    RewriteCond %{HTTP_HOST} ^www\.domein\.org$ [NC]
    RewriteRule ^(.*)$ http://www.domein.com/$1 [R=301,L]

    RewriteCond %{HTTP_HOST} ^domein\.be$ [NC,OR]
    RewriteCond %{HTTP_HOST} ^domein\.nl$ [NC,OR]
    RewriteCond %{HTTP_HOST} ^www\.domein\.nl$ [NC]
    RewriteRule ^(.*)$ http://www.domein.be/$1 [R=301,L]
</IfModule>
<FilesMatch "\.php$">
AddHandler x-httpd-php53 .php
</FilesMatch>

en in mijn dev folder heb ik dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<IfModule mod_rewrite.c>
    RewriteEngine on

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
<FilesMatch "\.php$">

AddHandler x-httpd-php53 .php

</FilesMatch>

Ik heb ze nu dus even opgesplits, en nu werkt mijn redirect half:
als ik www.domein.net/dev/ intik geeft hij een redirect naar www.domein.com/ (dit zou naar /dev/ moeten)
en als ik www.domein.net/dev/controller/id/ laad hij effectief correct de pagina, maar redirect hij niet meer naar de .com.

Op termijn moeten ze toch terug samengevoegd worden, maar zelfs gesplitst krijg ik het momenteel maar niet aan de praat...

Acties:
  • 0 Henk 'm!

  • GlennVd
  • Registratie: Januari 2008
  • Laatst online: 28-09 19:19
Schopje... niemand?