Hallo,
Ik zou graag van een bepaalde directory recursief alles willen
redirecten naar een andere site, zoiets:
www.hallo.nl/aabb/* -> www.hallo2.nl/aabb/*
Maar hoe doe ik dat?
Met vriendelijke groet,
Paul van der Vlis.
--
http://www.vandervlis.nl/
Evenementen voor de komende 60 Dag(en)
Resultaten 1 tot 11 van de 11
Onderwerp: Rewrite directory in Apache
-
Rewrite directory in Apache
-
Re: Rewrite directory in Apache
Paul van der Vlis <paul@vandervlis.nl>:
> Ik zou graag van een bepaalde directory recursief alles willen
> redirecten naar een andere site, zoiets:
>
> www.hallo.nl/aabb/* -> www.hallo2.nl/aabb/*
>
> Maar hoe doe ik dat?
In de configblock voor 'www.hallo.nl' zet je een rewriterule:
RewriteRule ^aabb(.*) http://www.hallo2.nl/aabb$1 [R=CODE,L]
'CODE' vervang je door 'temp', 'permanent' of 'seeother' om
respectievelijk een HTTP 302, 301 of 303 status te retourneren.
--
robert
-
Re: Rewrite directory in Apache
robert schreef:
> Paul van der Vlis <paul@vandervlis.nl>:
>> Ik zou graag van een bepaalde directory recursief alles willen
>> redirecten naar een andere site, zoiets:
>>
>> www.hallo.nl/aabb/* -> www.hallo2.nl/aabb/*
>>
>> Maar hoe doe ik dat?
>
> In de configblock voor 'www.hallo.nl' zet je een rewriterule:
> RewriteRule ^aabb(.*) http://www.hallo2.nl/aabb$1 [R=CODE,L]
>
> 'CODE' vervang je door 'temp', 'permanent' of 'seeother' om
> respectievelijk een HTTP 302, 301 of 303 status te retourneren.
Hmm, hij doet het zo in eerste instantie niet.
Moet er misschien een dollar bij, zoiets?
RewriteRule ^aabb(.*)$ http://www.hallo2.nl/aabb$1 [R=CODE,L]
Maar ook daarmee werkt het niet...
Zou dit niet ook matchen op b.v.
http://www.hallo/aabb.html
Terwijl ik alleen de directory aabb wil?
Uiteraard heb ik de rewrite module geladen.
Ik had van die code een "permanent" gemaakt, maar eigenlijk weet ik niet
goed wat het betekend. Zoiets staat er nu:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^aabb(.*) http://wwww.hallo2.nl/aabb$1 [R=permanent,L]
</IfModule>
Met vriendelijke groet,
Paul van der Vlis.
--
http://www.vandervlis.nl/
-
Re: Rewrite directory in Apache
Paul van der Vlis <paul@vandervlis.nl>:
> robert schreef:
>>
>> In de configblock voor 'www.hallo.nl' zet je een rewriterule:
>> RewriteRule ^aabb(.*) http://www.hallo2.nl/aabb$1 [R=CODE,L]
>>
>> 'CODE' vervang je door 'temp', 'permanent' of 'seeother' om
>> respectievelijk een HTTP 302, 301 of 303 status te retourneren.
>
> Hmm, hij doet het zo in eerste instantie niet.
>
> Moet er misschien een dollar bij, zoiets?
> RewriteRule ^aabb(.*)$ http://www.hallo2.nl/aabb$1 [R=CODE,L]
> Maar ook daarmee werkt het niet...
Maakt ook niks uit.
> Zou dit niet ook matchen op b.v.
> http://www.hallo/aabb.html
> Terwijl ik alleen de directory aabb wil?
Dat is inderdaad zo, als dat echt een probleem is moet je er ^aabb/(.*) van
maken (zonder quotes). De reden waarom dat meestal niet gebeurt is om een
nutteloze interne redirect van /aabb naar /aabb/ te voorkomen.
> Ik had van die code een "permanent" gemaakt, maar eigenlijk weet ik niet
> goed wat het betekend.
Dat is het soort redirect. Zie:
http://en.wikipedia.org/wiki/HTTP_301 (permanent)
http://en.wikipedia.org/wiki/HTTP_302 (temp)
http://en.wikipedia.org/wiki/HTTP_303 (seeother)
De keuze is meestal een van 'permanent' of 'temp'.
> Zoiets staat er nu:
In de globale httpd-config of in een .htaccess file? Dat laatste wil
namelijk niet altijd werken.
> <IfModule mod_rewrite.c>
> RewriteEngine On
> RewriteRule ^aabb(.*) http://wwww.hallo2.nl/aabb$1 [R=permanent,L]
Is die 'wwww' een typo of klopt dat?
> </IfModule>
Je kunt met RewriteLog en RewriteLogLevel laten loggen wat er gebeurt, dat
geeft vaak wat meer info over waarom iets niet werkt. En even nagaan in de
errorlog van je Apache dat er niks mis is.
--
robert
- advertentie
-
Re: Rewrite directory in Apache
On 2009-08-20, Paul van der Vlis <paul@vandervlis.nl> wrote:
> robert schreef:
>> Paul van der Vlis <paul@vandervlis.nl>:
>>> Ik zou graag van een bepaalde directory recursief alles willen
>>> redirecten naar een andere site, zoiets:
>>>
>>> www.hallo.nl/aabb/* -> www.hallo2.nl/aabb/*
>>>
>>> Maar hoe doe ik dat?
>>
>> In de configblock voor 'www.hallo.nl' zet je een rewriterule:
>> RewriteRule ^aabb(.*) http://www.hallo2.nl/aabb$1 [R=CODE,L]
>>
>> 'CODE' vervang je door 'temp', 'permanent' of 'seeother' om
>> respectievelijk een HTTP 302, 301 of 303 status te retourneren.
>
> Hmm, hij doet het zo in eerste instantie niet.
>
> Moet er misschien een dollar bij, zoiets?
> RewriteRule ^aabb(.*)$ http://www.hallo2.nl/aabb$1 [R=CODE,L]
> Maar ook daarmee werkt het niet...
>
> Zou dit niet ook matchen op b.v.
> http://www.hallo/aabb.html
> Terwijl ik alleen de directory aabb wil?
>
> Uiteraard heb ik de rewrite module geladen.
>
> Ik had van die code een "permanent" gemaakt, maar eigenlijk weet ik niet
> goed wat het betekend. Zoiets staat er nu:
>
><IfModule mod_rewrite.c>
> RewriteEngine On
> RewriteRule ^aabb(.*) http://wwww.hallo2.nl/aabb$1 [R=permanent,L]
></IfModule>
Moet dat niet ^/aabb/(.*) zijn?
Het kan ook met een
RedirectMatch permanent ^/aabb/(.*)$ http://www.hall2.nl/aabb/$1
Dan heb je de rewrite-module niet nodig, mocht je die nergens anders
voor gebruiken.
--
Groet,
Wietse
-
Re: Rewrite directory in Apache
Wietse Muizelaar <wietse.muizelaar@xs4all.nl>:
> On 2009-08-20, Paul van der Vlis <paul@vandervlis.nl> wrote:
>>
>> Ik had van die code een "permanent" gemaakt, maar eigenlijk weet ik niet
>> goed wat het betekend. Zoiets staat er nu:
>>
>><IfModule mod_rewrite.c>
>> RewriteEngine On
>> RewriteRule ^aabb(.*) http://wwww.hallo2.nl/aabb$1 [R=permanent,L]
>></IfModule>
>
> Moet dat niet ^/aabb/(.*) zijn?
Als /aabb/ geen bestaande directory meer is op de oude server, en iemand
vraagt /aabb op (in plaats van wat 'ie eigenlijk bedoelde, namelijk
/aabb/), dan krijgt die bezoeker een 404 in plaats van dat 'ie geredirect
wordt naar de nieuwe server.
Mocht de directory nog wel bestaan krijg je een extra redirect (wat op zich
niet echt een drama is
.
> Het kan ook met een
> RedirectMatch permanent ^/aabb/(.*)$ http://www.hall2.nl/aabb/$1
>
> Dan heb je de rewrite-module niet nodig, mocht je die nergens anders
> voor gebruiken.
Dat scheelt inderdaad weer
--
robert
-
Re: Rewrite directory in Apache
Wietse Muizelaar schreef:
> On 2009-08-20, Paul van der Vlis <paul@vandervlis.nl> wrote:
>> robert schreef:
>>> Paul van der Vlis <paul@vandervlis.nl>:
>>>> Ik zou graag van een bepaalde directory recursief alles willen
>>>> redirecten naar een andere site, zoiets:
>>>>
>>>> www.hallo.nl/aabb/* -> www.hallo2.nl/aabb/*
>>>>
>>>> Maar hoe doe ik dat?
>>> In de configblock voor 'www.hallo.nl' zet je een rewriterule:
>>> RewriteRule ^aabb(.*) http://www.hallo2.nl/aabb$1 [R=CODE,L]
>>>
>>> 'CODE' vervang je door 'temp', 'permanent' of 'seeother' om
>>> respectievelijk een HTTP 302, 301 of 303 status te retourneren.
>> Hmm, hij doet het zo in eerste instantie niet.
>>
>> Moet er misschien een dollar bij, zoiets?
>> RewriteRule ^aabb(.*)$ http://www.hallo2.nl/aabb$1 [R=CODE,L]
>> Maar ook daarmee werkt het niet...
>>
>> Zou dit niet ook matchen op b.v.
>> http://www.hallo/aabb.html
>> Terwijl ik alleen de directory aabb wil?
>>
>> Uiteraard heb ik de rewrite module geladen.
>>
>> Ik had van die code een "permanent" gemaakt, maar eigenlijk weet ik niet
>> goed wat het betekend. Zoiets staat er nu:
>>
>> <IfModule mod_rewrite.c>
>> RewriteEngine On
>> RewriteRule ^aabb(.*) http://wwww.hallo2.nl/aabb$1 [R=permanent,L]
>> </IfModule>
>
> Moet dat niet ^/aabb/(.*) zijn?
>
> Het kan ook met een
> RedirectMatch permanent ^/aabb/(.*)$ http://www.hall2.nl/aabb/$1
>
> Dan heb je de rewrite-module niet nodig, mocht je die nergens anders
> voor gebruiken.
Ah, fraai. Ik heb er nu 2 regels van gemaakt:
RedirectMatch permanent ^/aabb$ http://www.hallo2.nl/aabb
RedirectMatch permanent ^/aabb/(.*)$ http://www.hallo2.nl/aabb/$1
Voordeel is dat door die eerste regel ook http://www.hallo.nl/aabb goed
werkt (dus zonder slash op het eind).
Met vriendelijke groet,
Paul van der Vlis.
--
http://www.vandervlis.nl/
-
Re: Rewrite directory in Apache
robert schreef:
> Paul van der Vlis <paul@vandervlis.nl>:
>> robert schreef:
>>> In de configblock voor 'www.hallo.nl' zet je een rewriterule:
>>> RewriteRule ^aabb(.*) http://www.hallo2.nl/aabb$1 [R=CODE,L]
>>>
>>> 'CODE' vervang je door 'temp', 'permanent' of 'seeother' om
>>> respectievelijk een HTTP 302, 301 of 303 status te retourneren.
>> Hmm, hij doet het zo in eerste instantie niet.
>>
>> Moet er misschien een dollar bij, zoiets?
>> RewriteRule ^aabb(.*)$ http://www.hallo2.nl/aabb$1 [R=CODE,L]
>> Maar ook daarmee werkt het niet...
>
> Maakt ook niks uit.
>
>> Zou dit niet ook matchen op b.v.
>> http://www.hallo/aabb.html
>> Terwijl ik alleen de directory aabb wil?
>
> Dat is inderdaad zo, als dat echt een probleem is moet je er ^aabb/(.*) van
> maken (zonder quotes). De reden waarom dat meestal niet gebeurt is om een
> nutteloze interne redirect van /aabb naar /aabb/ te voorkomen.
>
>> Ik had van die code een "permanent" gemaakt, maar eigenlijk weet ik niet
>> goed wat het betekend.
>
> Dat is het soort redirect. Zie:
> http://en.wikipedia.org/wiki/HTTP_301 (permanent)
> http://en.wikipedia.org/wiki/HTTP_302 (temp)
> http://en.wikipedia.org/wiki/HTTP_303 (seeother)
>
> De keuze is meestal een van 'permanent' of 'temp'.
>
>> Zoiets staat er nu:
>
> In de globale httpd-config of in een .htaccess file? Dat laatste wil
> namelijk niet altijd werken.
>
>> <IfModule mod_rewrite.c>
>> RewriteEngine On
>> RewriteRule ^aabb(.*) http://wwww.hallo2.nl/aabb$1 [R=permanent,L]
>
> Is die 'wwww' een typo of klopt dat?
Typo, het is maar een voorbeeld.
>> </IfModule>
>
> Je kunt met RewriteLog en RewriteLogLevel laten loggen wat er gebeurt, dat
> geeft vaak wat meer info over waarom iets niet werkt. En even nagaan in de
> errorlog van je Apache dat er niks mis is.
>
Met vriendelijke groet,
Paul van der Vlis.
--
http://www.vandervlis.nl/
-
Re: Rewrite directory in Apache
Paul van der Vlis <paul@vandervlis.nl>:
> Ah, fraai. Ik heb er nu 2 regels van gemaakt:
>
> RedirectMatch permanent ^/aabb$ http://www.hallo2.nl/aabb
> RedirectMatch permanent ^/aabb/(.*)$ http://www.hallo2.nl/aabb/$1
>
> Voordeel is dat door die eerste regel ook http://www.hallo.nl/aabb goed
> werkt (dus zonder slash op het eind).
Dan doet dit hetzelfde:
RedirectMatch permanent ^/aabb(.*) http://www.hallo2.nl/aabb$1
--
robert
-
Re: Rewrite directory in Apache
robert schreef:
> Paul van der Vlis <paul@vandervlis.nl>:
>> Ah, fraai. Ik heb er nu 2 regels van gemaakt:
>>
>> RedirectMatch permanent ^/aabb$ http://www.hallo2.nl/aabb
>> RedirectMatch permanent ^/aabb/(.*)$ http://www.hallo2.nl/aabb/$1
>>
>> Voordeel is dat door die eerste regel ook http://www.hallo.nl/aabb goed
>> werkt (dus zonder slash op het eind).
>
> Dan doet dit hetzelfde:
> RedirectMatch permanent ^/aabb(.*) http://www.hallo2.nl/aabb$1
Nee, want dat reageert ook op b.v. http://www.hallo.nl/aabb2/ of op
http://www.hallo.nl/aabbennogmeer.html
Met vriendelijke groet,
Paul van der Vlis.
--
http://www.vandervlis.nl/
-
Re: Rewrite directory in Apache
Paul van der Vlis <paul@vandervlis.nl>:
> robert schreef:
>> Paul van der Vlis <paul@vandervlis.nl>:
>>> Ah, fraai. Ik heb er nu 2 regels van gemaakt:
>>>
>>> RedirectMatch permanent ^/aabb$ http://www.hallo2.nl/aabb
>>> RedirectMatch permanent ^/aabb/(.*)$ http://www.hallo2.nl/aabb/$1
>>>
>>> Voordeel is dat door die eerste regel ook http://www.hallo.nl/aabb goed
>>> werkt (dus zonder slash op het eind).
>>
>> Dan doet dit hetzelfde:
>> RedirectMatch permanent ^/aabb(.*) http://www.hallo2.nl/aabb$1
>
> Nee, want dat reageert ook op b.v. http://www.hallo.nl/aabb2/ of op
> http://www.hallo.nl/aabbennogmeer.html
Uh ja, daar heb je gelijk in
--
robert



LinkBack URL
About LinkBacks
