从 Laravel 部署的项目中删除 index.php [重复]
Posted
技术标签:
【中文标题】从 Laravel 部署的项目中删除 index.php [重复]【英文标题】:Remove index.php from a Laravel deployed project [duplicate] 【发布时间】:2020-05-10 22:37:26 【问题描述】:我目前正在使用 Laravel 6,我正在尝试在 Apache/2.4.29 (Ubuntu) Server 中部署我的项目。我的欢迎页面可以正常工作,但是当我尝试登录时,它会显示以下消息:
在此服务器上找不到请求的 URL。
但是当我尝试使用 index.php/login 登录时,我可以登录并且路由工作正常,但没有 CSS,我的 .htacces
文件如下所示:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
RewriteBase /var/www/apps/hris/imiforms
# Redirect trailing slashes if not a folder...
RewriteCond %REQUEST_FILENAME !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %REQUEST_FILENAME !-d
RewriteCond %REQUEST_FILENAME !-f
RewriteRule ^ index.php [L]
</IfModule>
我在 Apache 中的 .conf 文件如下所示:
<Directory /var/www/apps/hris/imiforms/public>
AllowOverride All
Require all granted
Require all granted
</Directory>
我已经在 Apache 中启用了我的重写模式。我该如何解决这个问题?
【问题讨论】:
您是否将 Apache 配置的服务器目录设置为您的 Laravel 公用文件夹? 是的,我确实在另一个论坛上找到了答案,谢谢 【参考方案1】:编辑 .htaccess 文件,使其包含以下代码:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
来源:How to Remove “public/index.php” from URL in Laravel
【讨论】:
以上是关于从 Laravel 部署的项目中删除 index.php [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何从 laravel 5 中的 url 中删除 public/index.php?
从 Laravel 4 URL 中删除 index.php 并将 www 重写为非 www