我创建了laravel项目,该项目在我的本地Windows pc上运行良好。一旦我(通过SSH)上传到Centos7服务器,除索引页面外,所有路由均显示“未找到404,https://ibb.co/tHysggf”。下图是我的项目结构。我删除公用文件夹,然后将index.php放在外面。
非常感谢所有答案。
答案 0 :(得分:3)
1打开httpd.conf
sudo vim /etc/httpd/conf/httpd.conf
2确保DocumentRoot指向laravel项目的公共目录。添加该路径的Directory元素和Allowoverride All ...,如下所示
DocumentRoot "/var/www/html/laravel/public/"
<Directory "/var/www/html/laravel/public">
Allowoverride All
</Directory>
3从../laravel/public/中打开.htaccess,并确保它具有以下内容
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
4重新启动httpd服务
sudo service httpd restart
答案 1 :(得分:2)
也许这会对您有所帮助。 您需要更新index.php文件,
require __DIR__.'./vendor/autoload.php';
$app = require_once __DIR__.'./bootstrap/app.php';
和server.php
if ($uri !== '/' && file_exists(__DIR__.'/'.$uri)) {
return false;
}
require_once __DIR__.'./index.php';