2016-09-02 5 views
1

Я использовал эту команду для запуска ngrok для Laravel сайта, а именно testsite.local:Laravel Ngrok и абсолютные адреса

ngrok http -host-header=rewrite testsite.local:80 

У меня есть testsite.local, определенный в /etc/hosts для сопоставления 127.0.0.1

Это работает, Ngrok запускается просто отлично и теперь служит локальному сайту на каком-то случайном * .ngrok.io адресе, к которому я могу получить доступ. Но все URL-адреса в приложении laravel (например, внутренние ссылки или URL-адреса для загрузки файла css или js) являются абсолютными URL-адресами для моего локально определенного домена, например http://testsite.local/news, или http://testsite.local/css/styles.css. Другими словами, я могу загрузить сайт отлично, но кто-то еще видит кучу неустановленного html и получает нефункциональный сайт.

Это должно быть общей проблемой для тех, кто использует ngrok и имеет абсолютные URL-адреса в своем проекте, но google ничего не принесет.

два возможных подход приходит на ум:

  1. переписывает все ссылки в приложении, чтобы быть относительно вместо абсолютных (о господи, пожалуйста, нет)
  2. любого клиента, который хочет получить доступ к моему месту с помощью * .ngrok.io url должен сопоставить домен «testsite.local» в своем собственном файле/etc/hosts с URL-адресом ngrok.io.

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

+0

Я не думаю, что вы должны когда-либо связывать абсолютные ссылки с css и т. Д., Но я считаю, что вы могли бы что-то сделать с файлом .htaccess для перенаправления URL-адресов. –

+0

Привет, в сообществе WordPress у нас та же проблема, что и Wordpress, URL-адрес. Обычно принято решение динамически преобразовывать абсолютные URL-адреса в относительные URL-адреса, используя внутренние перехваты WordPress (например, https://github.com/optimizamx/odt-relative-urls). Я не уверен, как бы вы сделали то же самое, если ваше приложение не основано на событиях ... –

+0

В httpd.conf установите DocumentRoot и Directory на путь вашего проекта. ' DocumentRoot "C:/XAMPP/HTDOCS/Projectname" ' – tsanzol

ответ

0

В xammp/Apache/конф/httd.conf

DocumentRoot "C:/XAMPP/HTDOCS/{ваш-проект-путь}"

Справочник «C:/XAMPP/HTDOCS/{ваш -project-path} "

+1

Предоставление дополнительного контекста относительно того, как и/или почему он решает эту проблему позволит улучшить ответ длинно -терминальное значение ... – Badacadabra

0

В httpd.conf установите DocumentRoot и Directory на пути к вашему проекту.

DocumentRoot "C:/xampp/htdocs/projectName" <Directory "C:/xampp/htdocs/projectName">

0

Есть такая же проблема. пытался с настройкой алиаса сервера посредством добавления server_name в nginx conf, никаких результатов. по умолчанию, laravel's url(), route(), asset() генерируют абсолютный URL-адрес.

Однако, когда я использую vagrant share, он работает, все URL-адреса могут быть обновлены в новом URL-адресе облачного облака.

с ngrok, вне зависимости от места жительства или вне дома, невезение.

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