Laravel Ngrok和绝对URL
我使用此命令启动laravel站点的ngrok,即testsite.local:Laravel Ngrok和绝对URL,laravel,ngrok,Laravel,Ngrok,我使用此命令启动laravel站点的ngrok,即testsite.local: ngrok http -host-header=rewrite testsite.local:80 我在/etc/hosts中定义了testsite.local以映射到127.0.0.1 这是可行的,Ngrok启动得很好,现在在一些随机的*.Ngrok.io地址上为本地站点提供服务,我可以访问这些地址。但是,laravel应用程序中的所有URL(例如,内部链接或加载css或js文件的URL)都是指向本地定义域的绝
ngrok http -host-header=rewrite testsite.local:80
我在/etc/hosts
中定义了testsite.local
以映射到127.0.0.1
这是可行的,Ngrok启动得很好,现在在一些随机的*.Ngrok.io地址上为本地站点提供服务,我可以访问这些地址。但是,laravel应用程序中的所有URL(例如,内部链接或加载css或js文件的URL)都是指向本地定义域的绝对URL,例如,或。换句话说,我可以很好地加载站点,但其他人只看到一堆未设置样式的html,就得到了一个没有功能的站点
这对于任何使用ngrok并且在他们的项目中有绝对URL的人来说都是一个普遍的问题,但是google并没有提供任何有用的东西
我想到了两种可能的方法:
在xammp/apache/conf/httd.conf中 DocumentRoot“C:/xampp/htdocs/{您的项目路径}”
httpd.conf中的目录“C:/xampp/htdocs/{your project path}”将文档根目录和目录设置为项目的路径
DocumentRoot“C:/xampp/htdocs/projectName”
您需要使用Apache模块mod_替换。
首先,启用模块:
a2enmod substitute
service apache2 restart
然后,将以下内容添加到.htaccess文件中:
AddOutputFilterByType SUBSTITUTE text/html
Substitute "s|<your-local-link>|<your-ngrok-link>|in"
AddOutputFilterByType替换文本/html
将“s | | | in”替换为
更多信息:我认为你不应该将绝对链接链接链接到css等。但是我相信你可以使用.htaccess文件来重新路由URL。在WordPress社区中,我们遇到了与WordPress经常使用绝对URL相同的问题。通常采用的解决方案是使用WordPress内部钩子将绝对URL动态转换为相对URL。如果你的应用程序不是基于事件的,我不知道你会怎么做……在httpd.conf中,将DocumentRoot和目录设置为项目的路径DocumentRoot“C:/xampp/htdocs/projectName”`似乎没有人理解您的问题。我也有同样的问题。你让ngrok处理绝对URL了吗?@Guerrilla我在这里回答了这个问题:提供关于如何和/或为什么解决这个问题的附加上下文将提高答案的长期价值……这看起来很有希望。