2016-09-02 17 views
1

Laravel Ngrokと絶対URL

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

私はこの作品127.0.0.1

にマッピングするために/etc/hoststestsite.localを定義した、Ngrokちょうどうまく始まり、私がアクセスできるランダムな* .ngrok.ioアドレスのローカルサイトを提供しています。しかしlaravelアプリケーション内のすべてのURL(CSSやJSファイルをロードするための、例えば内部リンク、またはURLが)http://testsite.local/news、またはhttp://testsite.local/css/styles.cssのように私のローカルに定義されたドメインへの絶対URLです。言い換えれば、私はサイトを正常に読み込むことができますが、他の誰かがunstyled htmlの束を見て、機能していないサイトを取得します。

これはngrokを使用して、そのプロジェクト内の絶対URLを持っている人のための一般的な問題である必要がありますが、Googleは便利なものを得られませんでした。

二つの可能なアプローチは、私の心に来る:

  1. 書き換えをアプリケーション内のすべてのリンクが代わりに
  2. (無ください神オハイオ州)絶対 を経由して自分のサイトにアクセスしたい任意のクライアントの相対的であることを* .ngrok.io urlは、自身の/ etc/hostsファイル内の 'testsite.local'ドメインをngrok.io URLにマップする必要があります。

アプローチはうまくいくかもしれませんが、これまでのところ伸びているようです...他には何もできませんか? xammp/apacheの/ confに/ httd.confで

+0

あなたはcssなどへの絶対リンクをリンクする必要があるとは思わないが、URLを再ルーティングするために.htaccessファイルで何かできると思う。 –

+0

こんにちは、ワードプレスと同じ問題があるURL。一般的に採用されている解決方法は、WordPressの内部フック(例:https://github.com/optimizamx/odt-relative-urls)を使用して絶対URLを相対URLに動的に変換することです。あなたのアプリがイベントベースでない場合、どうやって同じことをするのか分かりません... –

+0

httpd.confでDocumentRootとDirectoryをプロジェクトのパスに設定します。 ' のDocumentRoot "C:/ XAMPP/htdocsに/プロジェクト名" の ' – tsanzol

答えて

0

のDocumentRoot "C:/ XAMPP/htdocsに/ {あなたのプロジェクトパス}"

ディレクトリ「C:/ XAMPP/htdocsに/ {あなた-project-path}」は、httpd.confの

+1

はどのようにおよび/またはに関する追加のコンテキストを提供し、それは答えの長いを改善する問題を解決する理由-term値... – Badacadabra

0

は、プロジェクトのパスにあなたのDocumentRootとディレクトリを設定します。

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

0

同じ問題を抱えて。 は、nginx confにserver_nameを追加してサーバエイリアスを設定しようとしましたが、結果はありません。デフォルトで は、laravelのurl()route()asset()は絶対URLを生成しています。

私はvagrant shareを使用する場合しかし、それは動作しますが、すべてのURLが新しい放浪クラウド共有のURLに更新することができます。 ngrokと

、または家屋敷、不運の外を問わず。