Ответ 1
Fiddler имеет эту функцию; просто перейдите на вкладку "Автоответчик" и сопоставьте URL-адреса локальным файлам. Тысячи людей делают это каждый день.
Смотрите также видео # 5 здесь: http://www.fiddlerbook.com/fiddler/help/video/default.asp
Я пытаюсь найти инструмент, который позволит не-программистам тестировать файлы на реальном сервере.
Например, они могут модифицировать изображение на своем компьютере, перезагрузить веб-страницу, а затем сразу увидеть результаты их работы.
Я пробовал найти инструмент для этого, потому что кажется очевидным, что кто-то должен был подумать об этом, но много программного обеспечения, которое я вижу, не совсем подходит. Инструмент под названием Fiddler делает это (они называют это автоответчиком), но он только для Windows. Я могу изменить файл hosts, чтобы перенаправить на локальный экземпляр nginx или что-то в этом роде, но это кажется сложным для поддержания, когда все, что я действительно хочу, это простой инструмент, который будет что-то вроде этого...
http://someserver.com/css/ (. *) → /home/user/localcss/$1
Есть ли у кого-нибудь рекомендации?
Изменить: переопределение перенаправления
Fiddler имеет эту функцию; просто перейдите на вкладку "Автоответчик" и сопоставьте URL-адреса локальным файлам. Тысячи людей делают это каждый день.
Смотрите также видео # 5 здесь: http://www.fiddlerbook.com/fiddler/help/video/default.asp
Я нашел Charles Proxy очень полезным для этого http://www.charlesproxy.com/documentation/tools/map-local/
Решение Max PAC было спасателем жизни, поэтому я предоставляю более подробную информацию (пока не могу голосовать)
Чтобы использовать локальную версию, скажем, css файлов, создайте файл "proxy.pac", который содержит эту функцию:
function FindProxyForURL(url, host)
{
// use regex to match requests ending with '.css'
// and redirect them to localhost
var regexpr = /.**\.css/;
if(regexpr.test(url))
{
return "PROXY localhost";
}
// Or else connect directly:
return "DIRECT";
}
Сохраните 'proxy.pac' и укажите ваш браузер в этот файл. В Firefox это в меню "Параметры" > "Дополнительно" > "Соединение" > "Настройки" > "URL-адрес автоматической настройки прокси"
Для лучшей практики также добавьте MIME-тип на свой веб-сервер: map '.pac' для ввода 'application/x-ns-proxy-autoconfig'.
Все запросы к файлам .css теперь будут перенаправлены на localhost. Не забудьте убедиться, что структура файла на прокси-сервере одинакова.
В случае CSS, возможно, будет проще переопределить CSS, используя локальный хром. Например, в Firefox, chrome/userContent.css. См. http://kb.mozillazine.org/UserContent.css
Прошло некоторое время с тех пор, как я задал этот вопрос, и у меня есть хорошая техника, которая не была предложена.
Файлы PAC поддерживаются всеми основными браузерами и позволяют писать script, которые могут перенаправлять любой отдельный запрос на прокси-сервер, Так, например, прокси-сервер может обслуживать файл PAC, перенаправлять URL-адреса с правами доступа PAC на прокси-сервер и возвращать локальные версии этих файлов. Он может даже поддерживать HTTPS.
Остерегайтесь одной ошибки - Internet Explorer. Он помогает "неправильно кэшировать" результаты этого script, так что если один URL-адрес домена проксирован, все URL-адреса в этом домене будут проксированы. Однако эту функцию можно отключить.
На самом деле вы не можете этого сделать, потому что браузеры не разрешают файлы через http://получать доступ к файлу на локальной машине (подумайте об этом мгновенно... Что произойдет, если, например, вредоносная веб-страница загружает некоторые личные файлы с вашего компьютера?).
Некоторые браузеры (например, Safari) позволяют файлы через файл://обращаться к другому файлу://файлы, другие - нет, но ни один браузер не позволяет http://обращаться к файлу://.
В Firefox есть функция под названием "Signed scripts", которая представляет собой скрипты с цифровой подписью с доверенным сертификатом. Они могут попросить пользователя предоставить им доступ к локальному жесткому диску. Посмотрите на это: http://www.mozilla.org/projects/security/components/signed-scripts.html
Вы имеете в виду веб-прокси Fiddler (www.fiddler2.com)? Существует коммерческая Java-альтернатива с именем Charles Web Proxy, которая может соответствовать вашим потребностям.