Я установил лак на сервер, на котором работают два сайта в двух разных доменах, лак отлично работает без www перед двумя доменами, я прикрепил файл vcl в этот pastebin, я думаю, что это где-то базовая неправильная конфигурация, но я могу' т выяснить, где - кто-нибудь знает решение?
лак не срабатывает для www-версии домена
Ответы (1)
На мой взгляд, конфигурация выглядит нормально, и у вас не должно возникнуть проблем с/без www. Вы уверены, что DNS указывает на ваш сервер лака для www? Конечно, существует также вероятность того, что ваше приложение действует по-другому и устанавливает дополнительные файлы cookie/заголовки в запросе www.
Кроме того, вы действительно должны перенаправить один из www/non-www на другой, чтобы всегда использовался только один, но оба работали (это также легко сделать с помощью лака или, возможно, в настройках вашего DNS-провайдера).
Редирект в лаке может выглядеть примерно так (это не нужно добавлять в текущий vcl_recv/vlc_error и не добавлять новые блоки):
sub vcl_recv {
if (req.http.host == "www.somedomain.com") {
set req.http.x-Redir-Url = "http://somedomain.com" + req.url;
error 750 req.http.x-Redir-Url;
}
if (req.http.host == "www.someotherdomain.com") {
set req.http.x-Redir-Url = "http://someotherdomain.com" + req.url;
error 750 req.http.x-Redir-Url;
}
}
sub vcl_error {
if (obj.status == 750) {
set obj.http.Location = obj.response;
set obj.status = 301;
return (deliver);
}
}
person
Clarence
schedule
09.05.2013
Как будет выглядеть конфиг, чтобы всегда выглядела версия без www? :-)
- person user2210889; 09.05.2013
Добавил пример перенаправления в мой ответ выше.
- person Clarence; 09.05.2013