PDA

Bekijk Volledige Versie : url redirect htaccess



oomkoen.nl
04/03/08, 20:25
Ik heb een website www.voorbeeld.nl die ik wil doorlinken naar een andere
url (in mijn geval een lokale webserver met het webaders ip.ip.ip.ip/map).
Maar daarbij wil ik ook dat er in de adresbalk www.voorbeeld.nl blijft
staan.

Nou heb ik me htaccess al verschillende manieren gevonden.. Ik krijg het
voor elkaar om de website daadwerkelijk door te linken. Maar iedere keer
veranderd ook de url mee naar ip.ip.ip.ip/map.

Redirect permanent /one.html http://example.com/two.php
(Op deze manier wordt mijn website simpel door gelinkt, maar veranderd de
url ook mee.)

RewriteEngine on
RewriteBase /
RewriteRule ^(.*)$ http://65.124.101.118/$1 [L]
(Dit zou de url niet moeten veranderen. Maar doet ie toch...)


Is mijn wens überhaubt mogelijk met behulp van de htacces file???

Rik Wasmus
04/03/08, 20:45
On Tue, 04 Mar 2008 20:20:56 +0100, oomkoen.nl <geen> wrote:

> Ik heb een website www.voorbeeld.nl die ik wil doorlinken naar een
> andere url (in mijn geval een lokale webserver met het webaders
> ip.ip.ip.ip/map). Maar daarbij wil ik ook dat er in de adresbalk
> www.voorbeeld.nl blijft staan.
>
> Nou heb ik me htaccess al verschillende manieren gevonden.. Ik krijg het
> voor elkaar om de website daadwerkelijk door te linken. Maar iedere keer
> veranderd ook de url mee naar ip.ip.ip.ip/map.
>
> Redirect permanent /one.html http://example.com/two.php
> (Op deze manier wordt mijn website simpel door gelinkt, maar veranderd
> de url ook mee.)
>
> RewriteEngine on
> RewriteBase /
> RewriteRule ^(.*)$ http://65.124.101.118/$1 [L]
> (Dit zou de url niet moeten veranderen. Maar doet ie toch...)

'http://' betekent altijd externe redirect.

> Is mijn wens überhaubt mogelijk met behulp van de htacces file???

Voor dat we rare zaken gaan aanpasen: als het om het hele domein gaat,
waarom niet enkel de DNS entry aanpassen, en enkel servername controleren
op je lokale webserver? Indien het om een intern netwerk adres gaat:
1) Enkel op de één lokale machine: hosts bestand aanpassen.
2) Voor groter intern netwerk: lokale DNS server configureren

Je .htaccess file op de betreffende server hoeft dan enkel maar dit te
hebben:
RewriteCond %{SERVER_NAME} example.com
RewriteRule ^/?$ two.php

... en natuurlijk een ServerAlias in de juiste virtual host mocht je er
meerdere hebben.

Dat zou in ieder geval mijn geprefereerde methode zijn. Indien dit niet
voldoet, dan is ProxyPass van mod_proxy misschien iets voor je:
<http://httpd.apache.org/docs/2.0/mod/mod_proxy.html>
--
Rik Wasmus

Martin
04/03/08, 21:45
"oomkoen.nl":
> Ik heb een website www.voorbeeld.nl die ik wil doorlinken naar een andere
> url (in mijn geval een lokale webserver met het webaders ip.ip.ip.ip/map).
> Maar daarbij wil ik ook dat er in de adresbalk www.voorbeeld.nl blijft
> staan.

Je kunt 1 frame maken waarin de doorlink url geladen wordt. Door dat frame
veranderd het adres in de adresbalk niet. Ideaal: nee. Maar het werkt.

Groet Martin

--
Gratis je eigen radiozender op internet...
Duidelijke handleidingen bij Winamp, muziek en video...
http://winampnederlands.nl/


Posted on Usenet, not any website you might see this in.

Leihcim
06/03/08, 08:15
oomkoen.nl wrote:
> Ik heb een website www.voorbeeld.nl die ik wil doorlinken naar een
> andere url (in mijn geval een lokale webserver met het webaders
> ip.ip.ip.ip/map). Maar daarbij wil ik ook dat er in de adresbalk
> www.voorbeeld.nl blijft staan.
>
> Nou heb ik me htaccess al verschillende manieren gevonden.. Ik krijg het
> voor elkaar om de website daadwerkelijk door te linken. Maar iedere keer
> veranderd ook de url mee naar ip.ip.ip.ip/map.
>
> Redirect permanent /one.html http://example.com/two.php
> (Op deze manier wordt mijn website simpel door gelinkt, maar veranderd
> de url ook mee.)
>
> RewriteEngine on
> RewriteBase /
> RewriteRule ^(.*)$ http://65.124.101.118/$1 [L]
> (Dit zou de url niet moeten veranderen. Maar doet ie toch...)
>
>
> Is mijn wens überhaubt mogelijk met behulp van de htacces file???

Niet via .htacces afaik.

In php wel:

<? include('http://ip.ip.ip.iop/map' . $_SERVER["REQUEST_URI"]); ?>

niet getest, maar zou moeten werken.

Rik Wasmus
06/03/08, 10:05
On Thu, 06 Mar 2008 09:08:33 +0100, Leihcim <yourlove@welovespam.nl> wrote:

> oomkoen.nl wrote:
>> Ik heb een website www.voorbeeld.nl die ik wil doorlinken naar een
>> andere url (in mijn geval een lokale webserver met het webaders
>> ip.ip.ip.ip/map). Maar daarbij wil ik ook dat er in de adresbalk
>> www.voorbeeld.nl blijft staan.
>>
>> Nou heb ik me htaccess al verschillende manieren gevonden.. Ik krijg het
>> voor elkaar om de website daadwerkelijk door te linken. Maar iedere keer
>> veranderd ook de url mee naar ip.ip.ip.ip/map.
>>
>> Redirect permanent /one.html http://example.com/two.php
>> (Op deze manier wordt mijn website simpel door gelinkt, maar veranderd
>> de url ook mee.)
>>
>> RewriteEngine on
>> RewriteBase /
>> RewriteRule ^(.*)$ http://65.124.101.118/$1 [L]
>> (Dit zou de url niet moeten veranderen. Maar doet ie toch...)
>>
>>
>> Is mijn wens überhaubt mogelijk met behulp van de htacces file???
>
> Niet via .htacces afaik.
>
> In php wel:
>
> <? include('http://ip.ip.ip.iop/map' . $_SERVER["REQUEST_URI"]); ?>
> niet getest, maar zou moeten werken.

Behalve dan dat je ook een headers moet controleren en af en toe aanpassen.
--
Rik Wasmus

Alain
06/03/08, 14:55
"Leihcim" <yourlove@welovespam.nl> schreef in bericht
news:47cf9870$0$14350$e4fe514c@news.xs4all.nl...
> In php wel:
>
> <? include('http://ip.ip.ip.iop/map' . $_SERVER["REQUEST_URI"]); ?>
>
> niet getest, maar zou moeten werken.


Dit lijkt me een behoorlijke beveiligingsrisico. Veel webhosters zetten
hierom allow_url_fopen ook uit.

Beste methode lijkt me toch via DNS. Als dat geen optie is dan via mod_proxy
een prima methode zoals Rik schrijft. Moet wel even de webhoster instellen
want dat kan niet via een .htaccess bestandje.

Dietrich Moerman
06/03/08, 17:55
Alain schreef:
> "Leihcim" <yourlove@welovespam.nl> schreef in bericht
> news:47cf9870$0$14350$e4fe514c@news.xs4all.nl...
>> In php wel:
>>
>> <? include('http://ip.ip.ip.iop/map' . $_SERVER["REQUEST_URI"]); ?>
>>
>> niet getest, maar zou moeten werken.
>
>
> Dit lijkt me een behoorlijke beveiligingsrisico. Veel webhosters zetten
> hierom allow_url_fopen ook uit.
>
> Beste methode lijkt me toch via DNS. Als dat geen optie is dan via mod_proxy
> een prima methode zoals Rik schrijft. Moet wel even de webhoster instellen
> want dat kan niet via een .htaccess bestandje.
>
>

Heeft ook te maken met allow_url_include.

En verder blijft het een zéér slechte oplossing. DNS is inderdaad de
enige juiste. En anders een hidden frame (doch evenzeer te vermijden).

--
Dietrich Moerman -- http://dmoerman.be

Leihcim
07/03/08, 09:25
Alain wrote:
> "Leihcim" <yourlove@welovespam.nl> schreef in bericht
> news:47cf9870$0$14350$e4fe514c@news.xs4all.nl...
>
>>In php wel:
>>
>><? include('http://ip.ip.ip.iop/map' . $_SERVER["REQUEST_URI"]); ?>
>>
>>niet getest, maar zou moeten werken.
>
>
>
> Dit lijkt me een behoorlijke beveiligingsrisico. Veel webhosters zetten
> hierom allow_url_fopen ook uit.

Dat zou het alleen zijn als je het zo doet:

<? include($_SERVER["REQUEST_URI"]); ?>

> Beste methode lijkt me toch via DNS. Als dat geen optie is dan via mod_proxy
> een prima methode zoals Rik schrijft. Moet wel even de webhoster instellen
> want dat kan niet via een .htaccess bestandje.

Is uiteraard beter.

Leihcim
07/03/08, 09:25
Leihcim wrote:
> Alain wrote:
>
>>"Leihcim" <yourlove@welovespam.nl> schreef in bericht
>>news:47cf9870$0$14350$e4fe514c@news.xs4all.nl...
>>
>>
>>>In php wel:
>>>
>>><? include('http://ip.ip.ip.iop/map' . $_SERVER["REQUEST_URI"]); ?>
>>>
>>>niet getest, maar zou moeten werken.
>>
>>
>>
>>Dit lijkt me een behoorlijke beveiligingsrisico. Veel webhosters zetten
>>hierom allow_url_fopen ook uit.
>
>
> Dat zou het alleen zijn als je het zo doet:
>
> <? include($_SERVER["REQUEST_URI"]); ?>

Herstel, dit kan natuurlijk niet. Waar het me om ging is dat het een
risico is om user data te includen, waarbij een hacker een willekeurige
page kan includen. Dus zoiets:

<? include($_GET["page"]); ?>

Als je een deel van de url hard-code is dat niet meer mogelijk.

>
>>Beste methode lijkt me toch via DNS. Als dat geen optie is dan via mod_proxy
>>een prima methode zoals Rik schrijft. Moet wel even de webhoster instellen
>>want dat kan niet via een .htaccess bestandje.
>
>
> Is uiteraard beter.

Rik Wasmus
07/03/08, 10:05
On Fri, 07 Mar 2008 09:21:14 +0100, Leihcim <yourlove@welovespam.nl> wrote:

> Leihcim wrote:
>> Alain wrote:
>>
>>> "Leihcim" <yourlove@welovespam.nl> schreef in bericht
>>> news:47cf9870$0$14350$e4fe514c@news.xs4all.nl...
>>>
>>>
>>>> In php wel:
>>>>
>>>> <? include('http://ip.ip.ip.iop/map' . $_SERVER["REQUEST_URI"]); ?>
>>>>
>>>> niet getest, maar zou moeten werken.
>>>
>>>
>>>
>>> Dit lijkt me een behoorlijke beveiligingsrisico. Veel webhosters zetten
>>> hierom allow_url_fopen ook uit.
>>
>>
>> Dat zou het alleen zijn als je het zo doet:
>>
>> <? include($_SERVER["REQUEST_URI"]); ?>
>
> Herstel, dit kan natuurlijk niet. Waar het me om ging is dat het een
> risico is om user data te includen, waarbij een hacker een willekeurige
> page kan includen. Dus zoiets:
>
> <? include($_GET["page"]); ?>
>
> Als je een deel van de url hard-code is dat niet meer mogelijk.

Wat nog steeds onzin is natuurlijk. Als het vanf een andere server komt,
moet geen enkele code uitgevoerd worden die daar vandaan komt. Als je dit
zou willen doen, zou ik voor cURL gaan om ook headers (cookie sets etc.)
te dupliceren, maar als je erop staat 'pure' PHP te gebruiken, dan zou ik
voor deze gaan (en nooit met short_tags, je kunt er niet vanuit gaan dat
die altijd aan staan):

<?php
readfile('http://example.com/map'.$_SERVER['REQUEST_URI']);
?>

Wat nog steeds ontzettende problemen geeft met relatieve URL's, headers,
etc.
--
Rik Wasmus

Hans
07/03/08, 12:55
On Fri, 07 Mar 2008 09:21:14 +0100, Leihcim <yourlove@welovespam.nl> wrote:
> Leihcim wrote:
>
> Herstel, dit kan natuurlijk niet. Waar het me om ging is dat het een
> risico is om user data te includen, waarbij een hacker een willekeurige
> page kan includen. Dus zoiets:
>
><? include($_GET["page"]); ?>
>
> Als je een deel van de url hard-code is dat niet meer mogelijk.

Als je een deel hard code dan kom je er soms toch nog voorbij. De enigste
manier is als je hardcoded checkt of de bestandsnaam aan bepaalde voorwaardes
voldoet (geen protocol er voor, geen .. geen slashes, etc...). Ga je
bijvoorbeeld alleen kijken of er geen extentie aan hangt ben je al zuur.

Zoiets is alleen goed te doen als je exact kunt bepalen of de input klopt.

Hans

--
IM: hans.wolters@xs4all.nl
http://lonki.xs4all.nl

Leihcim
08/03/08, 11:25
Rik Wasmus wrote:
> On Fri, 07 Mar 2008 09:21:14 +0100, Leihcim <yourlove@welovespam.nl> wrote:
>
>> Leihcim wrote:
>>
>>> Alain wrote:
>>>
>>>> "Leihcim" <yourlove@welovespam.nl> schreef in bericht
>>>> news:47cf9870$0$14350$e4fe514c@news.xs4all.nl...
>>>>
>>>>
>>>>> In php wel:
>>>>>
>>>>> <? include('http://ip.ip.ip.iop/map' . $_SERVER["REQUEST_URI"]); ?>
>>>>>
>>>>> niet getest, maar zou moeten werken.
>>>>
>>>>
>>>>
>>>>
>>>> Dit lijkt me een behoorlijke beveiligingsrisico. Veel webhosters zetten
>>>> hierom allow_url_fopen ook uit.
>>>
>>>
>>>
>>> Dat zou het alleen zijn als je het zo doet:
>>>
>>> <? include($_SERVER["REQUEST_URI"]); ?>
>>
>>
>> Herstel, dit kan natuurlijk niet. Waar het me om ging is dat het een
>> risico is om user data te includen, waarbij een hacker een willekeurige
>> page kan includen. Dus zoiets:
>>
>> <? include($_GET["page"]); ?>
>>
>> Als je een deel van de url hard-code is dat niet meer mogelijk.
>
>
> Wat nog steeds onzin is natuurlijk. Als het vanf een andere server
> komt, moet geen enkele code uitgevoerd worden die daar vandaan komt.
> Als je dit zou willen doen, zou ik voor cURL gaan om ook headers
> (cookie sets etc.) te dupliceren, maar als je erop staat 'pure' PHP te
> gebruiken, dan zou ik voor deze gaan (en nooit met short_tags, je kunt
> er niet vanuit gaan dat die altijd aan staan):
>
> <?php
> readfile('http://example.com/map'.$_SERVER['REQUEST_URI']);
> ?>
>
> Wat nog steeds ontzettende problemen geeft met relatieve URL's,
> headers, etc.

Je hebt gelijk, de methode die aangaf is erg kort door de bocht.