Возможно ли скрытое перенаправление 307 для домена?


Меня попросили создать перенаправление 307 для домена, убедившись, что он "замаскирован". т. Е. Сохраните исходный URL-адрес в адресной строке.

О перенаправлениях 307 (в отличие от 301/302) доступно не так много информации, но из моих исследований кажется, что 307 перенаправлений похожи на 302 перенаправления.

У меня такое чувство, что то, что меня попросили сделать, невозможно, и на данный момент я создал iframe, который загружает его бесплатный веб-сайт.

Прежде чем я буду выглядеть идиотом и вернусь к нему, и скажу ему, что iFrames - единственный способ сохранить URL-адрес в адресной строке, может кто-нибудь подтвердить это.

В качестве альтернативы, скажите мне, как создать перенаправление 307. Я предполагаю, что это что-то вроде этого.... Но как это можно замаскировать?

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.newdomain.com/$1 [R=307,L] 
Author: Rob, 2016-03-02

2 answers

Перенаправление в маске 307 невозможно. Вы можете либо перенаправить, либо замаскировать, но не то и другое вместе. Код, который вы опубликовали в своем вопросе, приведет к перенаправлению, если это то решение, которое вы хотите, но я не понимаю, зачем вам перенаправление 307, которое просто сообщает браузеру, что он не может переключаться между методом GET/POST. Наилучшей/распространенной практикой является использование 301 для постоянных перенаправлений и 302 для временных перенаправлений, если только это не может быть использовано на URL-адресе, где ожидается публикация данных. Перенаправление 307 само по себе не будет применять никакой маскировки - заголовок перенаправления, будь то 301, 302 или 307, изменит адрес браузера.

В то время как большинство маскировок веб-сайтов настраивается и управляется с помощью панелей управления хостингом или доменными именами, а не людьми, которые сами пишут для них исходный код, сегодня чаще всего используются старые теги набора фреймов HTML4, которые по-прежнему поддерживают все основные браузеры:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" 
  "http://www.w3.org/TR/html4/frameset.dtd">
<html>
  <frameset rows="100%">
    <frame src="http://www.masked-domain.com/" />
  </frameset>
</html>

Для маскировки с помощью прокси-запросов вы можете использовать PHP-код, подобный этому в index.php:

<?php
$sOldURL = sprintf( 'http://www.masked-domain.com/%s', $_SERVER['REQUEST_URI'] );
echo( @file_get_contents( $sOldURL ));
exit;

, А затем перенаправлять все запросы на этот index.php файл с использованием файла .htaccess:

RewriteEngine On
RewriteRule ^(.*)$ /index.php/$1 [L]
 2
Author: richhallstoke, 2016-03-02 11:47:43

Невозможно внешне перенаправить (статус 3xx) и замаскировать запрос (т.Е. сохраните исходный URL-адрес в адресной строке). Для конечного пользователя "замаскированный" URL-адрес выглядит как обычный (200 ОК) запрос. Ответ 3xx - это не так.

IFRAMES - единственный способ сохранить URL-адрес в адресной строке

Однако iframes не обязательно являются единственным способом маскировки URL-адреса. Предполагая, что это междоменный запрос, тогда запрос может быть проксированный?

...его бесплатный веб-сайт.

Что ж, в этом случае iframe вполне может быть единственным способом справиться с этим!


Часть меня думает, что в этом должно быть что-то еще? Откуда вы хотите "перенаправить" ?

 2
Author: MrWhite, 2016-03-02 11:01:52