Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 虚拟主机中无域的Laravel访问api_Apache_Laravel_Virtualhost - Fatal编程技术网

Apache 虚拟主机中无域的Laravel访问api

Apache 虚拟主机中无域的Laravel访问api,apache,laravel,virtualhost,Apache,Laravel,Virtualhost,我有一个laravel应用程序,当我的虚拟主机设置如下时,该应用程序已全部设置并工作: ServerName mylaravelproj.com <Directory /var/www/mylaravelproj/public> ..rules here ServerName mylaravelproj.com …这里的规则 所以我需要做的就是访问mylaravelproj.com/api/whateverRouteHere 但是,如果没有域名,我不知道如何访问api Doc

我有一个laravel应用程序,当我的虚拟主机设置如下时,该应用程序已全部设置并工作:

ServerName mylaravelproj.com

<Directory /var/www/mylaravelproj/public>
..rules here
ServerName mylaravelproj.com
…这里的规则
所以我需要做的就是访问mylaravelproj.com/api/whateverRouteHere

但是,如果没有域名,我不知道如何访问api

 DocumentRoot /var/www/mylaravelproj/public

<Directory /var/www/mylaravelproj/public>
..rules here
DocumentRoot/var/www/mylaravelproj/public
…这里的规则
访问192.168.xxx.xxx/mylaravelproj/public/api/whateverRouteHere时不起作用


我对配置apache还很陌生,对为什么这样做不起作用有点困惑。

如果您的服务器正在侦听域
mylaravelproj.com
,那么您为什么不向
主机
文件添加一个条目,如下所示:

192.168.xxx.xxx    mylaravelproj.com
然后刷新你的DNS缓存,然后访问,你应该能够访问你的应用程序


在windows上,我通常是这样设置laravel应用程序的。我使用XAMPP,因此我将以下条目添加到:C:\XAMPP\apache\conf\extra\httpd vhosts.conf

<VirtualHost *:80>
    ServerName mylaravelproj.com
    DocumentRoot "C:/xampp/htdocs/mylaravelproj/public"
</VirtualHost>
然后在命令提示符下,使用ipconfig/flushdns

192.168.1.122    mylaravelproj.com

注意*使用完整域运行dev env不是一个好主意,如果您的服务器正在侦听域
mylaravelproj.com
,那么您为什么不向
主机
文件添加如下条目:

192.168.xxx.xxx    mylaravelproj.com
然后刷新你的DNS缓存,然后访问,你应该能够访问你的应用程序


在windows上,我通常是这样设置laravel应用程序的。我使用XAMPP,因此我将以下条目添加到:C:\XAMPP\apache\conf\extra\httpd vhosts.conf

<VirtualHost *:80>
    ServerName mylaravelproj.com
    DocumentRoot "C:/xampp/htdocs/mylaravelproj/public"
</VirtualHost>
然后在命令提示符下,使用ipconfig/flushdns

192.168.1.122    mylaravelproj.com

注意*使用完整域运行dev env不是一个好主意,您应该使用类似mylaravelproj.dev或mylaravelproj.local的工具

我无法向主机添加内容,因为我试图通过移动设备访问它,并访问其中的每一个设备,篡改主机文件将非常繁琐:/。我在一个本地网络上提供服务,我想知道如果没有域名,它是否可以实现,那么你需要研究动态DNS(例如),或者给自己买一个便宜的5美元的DigitalOcean VPS并在线部署你的应用程序。因此,本质上,除了通过外部主机/主机fliles或dyn DNS之外,没有其他方法可以做到这一点:/。我只是想知道为什么mylaravelproj.com/api/whateverRouteHere可以工作,而192.168.xxx.xxx/mylaravelproj/public/api/whateverRouteHere不能。我的意思是,第一个解析为几乎相同的url。。对吗?你有什么错误吗?您可以尝试这样做:然后您可以像这样访问您的应用程序api端点:
192.168.xxx.xxx/api/whateverRouteHere
即使我将000默认值设置为项目的根目录,也无法找到404页面。在这种情况下,将提供公共Laravel页面,但api不起作用。工作时不起作用这可能是拉威尔特有的事情,但我就是不明白为什么一个工作,另一个不工作,因为它们在理论上似乎是一样的。值得注意的是,在laravel公用文件夹中找到的“普通”和“显示”页面与预期的页面相同,因此它必须是一个实现细节…我无法向主机添加内容,因为我尝试通过移动设备访问它,并访问其中的每一个设备,篡改主机文件将非常繁琐:/。我在一个本地网络上提供服务,我想知道如果没有域名,它是否可以实现,那么你需要研究动态DNS(例如),或者给自己买一个便宜的5美元的DigitalOcean VPS并在线部署你的应用程序。因此,本质上,除了通过外部主机/主机fliles或dyn DNS之外,没有其他方法可以做到这一点:/。我只是想知道为什么mylaravelproj.com/api/whateverRouteHere可以工作,而192.168.xxx.xxx/mylaravelproj/public/api/whateverRouteHere不能。我的意思是,第一个解析为几乎相同的url。。对吗?你有什么错误吗?您可以尝试这样做:然后您可以像这样访问您的应用程序api端点:
192.168.xxx.xxx/api/whateverRouteHere
即使我将000默认值设置为项目的根目录,也无法找到404页面。在这种情况下,将提供公共Laravel页面,但api不起作用。工作时不起作用这可能是拉威尔特有的事情,但我就是不明白为什么一个工作,另一个不工作,因为它们在理论上似乎是一样的。值得注意的是,普通和显示在laravel公用文件夹中找到的页面与预期相同,因此它必须是一个实现细节。。。