.htaccess 如何在没有php artisan serve的情况下使用laravel livewire?

i5desfxk  于 2023-04-12  发布在  PHP
关注(0)|答案(2)|浏览(105)

我有一个关于如何使用laravel livewire的问题,因为我有自己的理由不使用PHP artisan serve,Nginx,vhosts或任何PHP serve。只是像普通的原始PHP一样使用.htaccess正常访问项目(仅用于开发阶段)。
首先,我的laravel设置,我使用的是Laravel 8,我使用的访问laravel项目的方式是使用.htaccess,而不是PHP artisan serve,如下所示:

<IfModule !mod_rewrite.c>
   deny from all
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{REQUEST_URI} /$
RewriteRule ^ %{REQUEST_URI}index.php [L,R=301]

RewriteCond %{REQUEST_URI} $
RewriteRule ^(.*)$ public/$1 [L,QSA]

<Files .env>
    Order allow,deny
    deny from all
</Files>
</IfModule>

这样,我就可以访问我的项目,URL如下所示

http://localhost/Laravel/v8/suhv2livewire/public/index.php/login

所有的工作都很好,直到我安装livewire下一个。安装是好的,livewire被检测到。但当我试图提交一个表格,然后它给我要么这3个错误
Uncaught(in promise)SyntaxError:JSON中位置0处的意外标记〈
从我理解的这些错误的意思,它返回HTML而不是JSON应该是404在我的情况下(只是我的假设)
404 Not Found
此路由不支持GET方法。支持的方法:POST。
通过使用PHP artisan serve,它的工作没有任何问题和零配置。然而,没有PHP artisan服务,它成为一个问题和令人头痛的我。我阅读了有关asset_url的文档,并尝试更改,例如:

'asset_url' => 'http://localhost/Laravel/v8/suhv2livewire'

但仍然不工作,并得到任何3个错误,我上面显示。
我在StackOverflow上发现了一个类似的问题,但没有工作,其他人说关于Nginx等等。我不希望这样。
如果你们找到任何解决方案,请帮助。如果我能像使用其他javascript文件一样使用livewire,那就更好了。

require('livewire')

像阿尔卑斯山。
让我恼火的是,我不知道我的.htaccess,livewire asset_url或任何其他部分是真实的的问题。
谢谢你的帮助。

zkure5ic

zkure5ic1#

单位:config/livewire.php

'asset_url'  => env('APP_URL', 'http://localhost'),

然后在livewire资产将取决于.envAPP_URL
所以你需要在.env中配置你的url

APP_URL=http://localhost/Laravel/v8/suhv2livewire/public

注意:此更改将在运行php artisan config:clear后生效

mnowg1ta

mnowg1ta2#

在这里,您可以找到一个简单的方法来解决这个问题。您可以在这里找到一个简单的方法来解决这个问题。您可以在这里找到一个简单的方法来解决这个问题。

相关问题