问题描述
为什么方法发布后我的Laravel URL不起作用 示例url api必须为: http:// localhost / PROJECTNAME / api / loginWeb
但是当我单击“发布”按钮时,它总是直接指向 http:// localhost / api / loginWeb
但是方法得到时可以。我使用xampp
这是我的htaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.PHP [L]
</IfModule>
解决方法
当我们使用基于会话的laravel设置时,所有路由生成器功能(url(),route()
)都将主机名http://localhost
用作根URL,而不是http://localhost/PROJECTNAME
。要解决此问题,请在laravel应用中进行以下更改。
- 在.env文件中将APP_URL定义为
APP_URL="http://localhost/PROJECTNAME"
- 转到位于
RouteServiceProvider
的{{1}},并强制laravel使用app/Providers/RouteServiceProvider
作为应用程序的根URL。
APP_URL
当我使用相同的域和一个子URL标识不同的项目时,我发生了相同的问题。