我有一个Laravel Apps和一个共享主机。我想将Laravel应用程序部署到cpanel,但出现错误
404 resources not found
部署时。我已将laravel公共文件夹放入根文件夹,并将laravel文件放入子文件夹/laravelApp
。
所以我的托管结构如下:
bdd.services
|--> public_html
|----> myLaravelApp
|------> css
|------> js
|------> laravelApp
|--------> app
|--------> /* and all the laravel apps inside here */
|------> .htaccess
|------> index.php
|
|
|----> someonesProject
当我尝试测试该应用时,我看到请求正在请求
https://mydoamin.com/login/auth
,应该在https://mydoamin.com/myLaravelApp/login/auth
处。并且显示错误404 resources not found
。
那么如何使路由始终转到https://mydoamin.com/myLaravelApp/
?也许还有另一种解决方案?
这是我的.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_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
我还将APP_URL
设置为.env
。
APP_URL=https://mydoamin.com/myLaravelApp/
答案 0 :(得分:1)
在这种情况下,您应该确保自己拥有
APP_URL="http://example.com/folder"
在您的.env文件中
然后不要像这样进行href
href="/login"
为您的路线命名
Route::get('login', ...)->name('login');
然后像这样
href="{{ route('login') }}"
这样,它将始终使用完整的网址