2013-07-20 2 views
0

Так что у меня возникла проблема, из-за которой я не могу найти какие-либо ресурсы. Я пытаюсь запустить laravel с apache и лаком. Он отлично работает с одним исключением, все URL-адреса добавляют порт, на котором работает apache (8080). Поэтому, когда я иду по ссылке:с использованием laravel с apache и лаком

http://localhost/ 

Он отлично работает, но все ссылки на сайте, показывая что-то вроде:

http://localhost:8080/about-us 

У меня есть лак, работающий на порту 80 и апач работает на порт 8080. Я уверен, что это лак, вызывающий проблему, потому что, когда я запускаю его только с apache на порте 80, он работает без добавления в порт. Кто-нибудь знает, как обойти это, добавив порт там. Я не смог найти какую-либо информацию по этой проблеме через google.

+0

Можете ли вы опубликовать свое определение wcl-файла? Я почти уверен, что Varnish не тот, кто виноват в этом случае, но lavarel по умолчанию переписывает URL – NITEMAN

ответ

0

Я не гений PHP, но все веб-фреймворки, которые, как мне известно, используют заголовок хоста во входящем запросе для генерации ненулевых ссылок (побочный вопрос: почему вы предоставляете абсолютные URL-адреса, когда ресурс находится на одном и том же хозяин в первую очередь?).

Так, если в вашем VCL вы переписывания запроса и даже (bereq) заголовка запроса BACKEND Хост на локальный: 8080 а-ля

set req.http.Host = "localhost:8080"; 

или

set bereq.http.Host = "localhost:8080"; 

или делать то же самое в apache, вот что вызывает проблему. Если это не так, PHP использует порт, на котором работает сервер, а не заголовок узла, чтобы создавать URL-адреса, что является почти повсеместно нежелательным поведением и, вероятно, из-за неправильной конфигурации с вашей стороны.

Смежные вопросы