301 redirect probleem - urgent

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Johnny Cash

Johnny Cash

25/09/2014 10:46:41
Quote Anchor link
Goedemorgen,

Ik heb al eens eerder een topic gepost met een 301 redirect probleem in .htaccess.
Dat probleem is niet opgelost en ik heb betreffende website toen helemaal verwijderd omdat het één chaos werd door de redirects.

MAAR... ik nu nu toch weer een probleem bij een website. En ook daar gaat het fout met de 301 redirect.
Ik ben dus nu toch wel heel erg benieuwd WAT er precies fout gaat en hoe ik dit kan oplossen.

De situatie:
Ik heb een website x (www.websitex.nl): dit is de oude website
Ik heb een website y (www.websitey.nl): dit is de nieuwe website

De menu structuur van beide websites zijn NIET veranderd. Alleen maar het domeinnaam.
Dus op website x had ik een url als: http://www.websitex.nl/contact/adres.html
Deze moet dus volledig worden geredirect naar http://www.websitey.nl/contact/adres.html

Echter wordt hij geredirect naar: http://www.websitey.nl/contact/adres.html?butt=contact&vara=adres

Er wordt dus achter de .html een variabelen reeks gezet.

Op website x heb ik 1 301 redirect geplaatst in de .htaccess file voor de gehele website.
De .htaccess van website y ziet er als volgt uit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
php_value register_globals on

<IfModule mod_rewrite.c>  

RewriteEngine On

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

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

RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+).html index.php?butt=$1&vara=$2&varb=$3&varc=$4 [NC]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+).html index.php?butt=$1&vara=$2&varb=$3 [NC]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+).html index.php?butt=$1&vara=$2 [NC]
RewriteRule ^([A-Za-z0-9-]+).html index.php?butt=$1 [NC]
</IfModule>


Meer staat er niet in de .htaccess

Ik ben zeer benieuwd of iemand hier een oplossing voor heeft of mij kan vertellen wat er fout gaat.
 
PHP hulp

PHP hulp

07/05/2024 06:09:17
 
Ivo P

Ivo P

25/09/2014 11:11:50
Quote Anchor link
de redirect van website X zo uklaar moeten zijn op regel 8:

Ik zou alleen van die regel 7 weglaten.

Het feit dat je de .htaccess van websitex gebruikt, impliceert als dat de url niet deugde, dus waarom nog een conditie op websitey.nl?

REgel 9 zul je noooit bereiken. (al zou ik voor de zekerheid ook een L gebruiken in die [L,R=301] ipv een l

Toevoeging op 25/09/2014 11:31:02:

bij nader inzien:

je zegt op site X

RewriteCond %{HTTP_HOST} ^websitey\.nl [NC]

'als de domainname begint met "websiteY.nl" '

Dat is dus nooit.
Hoe je dan alsnog op site websiteY.nl terecht komt???
In een php script misschien?
 

25/09/2014 12:09:56
Quote Anchor link
Waarom niet bij het oude domein een redirect maken naar de nieuwe website en het domein van de oude website als alias in je virtualhost bestand plaatsen. Dan wijst alles altijd naar de nieuwe website?

Of ben ik nu heel stom aan het doen. (de oude htaccess lijkt me dan wel overbodig maar toch)
 
Johnny Cash

Johnny Cash

25/09/2014 12:18:43
Quote Anchor link
In de oude .htaccess (website x) staat alleen maar een Redirect 301 naar website y.

Voor de nieuwe website gebruik ik de .htaccess zoals ik heb toegevoegd in mijn post.

Ivo P, kun je iets concreter uit leggen wat ik zou moeten doen?
De weergegeven .htaccess is enkel en alleen voor de nieuwe website (y).
 
Ivo P

Ivo P

25/09/2014 12:49:03
Quote Anchor link
ah ik dacht dat het de .htaccess van X was.

klassiek probleem: regels 10 en 11 hebben alleen betrekking op de eerstvolgende rule

vervang die door

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule .  -

 
Johnny Cash

Johnny Cash

26/09/2014 16:22:58
Quote Anchor link
Bedankt Ivo P voor je post.
Maar wat betekent het "klassieke probleem"?

En wat doet:
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . -

op dit moment?
 
Ivo P

Ivo P

26/09/2014 16:57:49
Quote Anchor link
RewriteCond %{REQUEST_FILENAME} -f

als het opgevraagde een FILE is

[OR]
of :-)

RewriteCond %{REQUEST_FILENAME} -d
als het opgevraagde een Directory is (/ of /fotos/ )

RewriteRule . -

doe niets...

En daar zou nog een [L] achter mogen wegens "last": stoppen met verdere rewrites.

Klassiek, omdat men nogal eens denkt dat het omgekeerde gedaan moet worden. Namelijk "als het _niet_ bestaat dan..."

Kan ook, maar dan moet je het wel steeds voor _elke_ rewriterule herhalen.
En dat laatste gebeurt vaak niet.
 
Johnny Cash

Johnny Cash

26/09/2014 17:07:11
Quote Anchor link
Dus mijn .htaccess komt er als volgt uit te zien?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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} ^websitey\.nl [NC]
RewriteRule ^(.*) http://www.websitey.nl/$1 [l,R=301]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule .  -

RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+).html index.php?butt=$1&vara=$2&varb=$3&varc=$4 [NC]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+).html index.php?butt=$1&vara=$2&varb=$3 [NC]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+).html index.php?butt=$1&vara=$2 [NC]
RewriteRule ^([A-Za-z0-9-]+).html index.php?butt=$1 [NC]
</IfModule>


??
En waar zou ik eventuele nieuwe Redirect 301 moeten plaatsen binnen deze .htaccess?

Ik blijf het maar een ingewikkelde materie vinden...
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.