php - 如何在在线服务器上运行 Laravel API
问题描述
我已经创建Laravel CRUD API
并且它在 localhost 中工作正常(没有 .htaccess 文件),但它在实时服务器上失败。当我发送请求时404 not found error
,它会根据.htaccess
内容返回或下载文件。我应该如何更改.htaccsess
文件以使代码正常工作。这是我的.htaccess
文件,它返回未找到错误。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
解决方案
有一个“官方”htaccess 应该为您提供基本代码以使其正常工作。
见https://github.com/laravel/laravel/blob/master/public/.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]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
然后,只需确保根指向,yourproject/public
以便它只能从yourproject/public/index.php
.
推荐阅读
- python-3.x - If 语句 If 和 Else 结果不起作用
- node.js - 如何使用 node.js 读取 excel 文件
- encoding - 编码为游程编码
- django - Django Admin 按一对多关系过滤
- perl - 在 Freebsd 中安装 perl 软件包时出错?
- websocket - 如何使用 Web 套接字在 Angular 应用程序和 composer-rest-server 之间进行通信?
- c# - C#在计算机进入睡眠模式之前杀死进程
- python - 在 Python 中融化和旋转数据框?
- javascript - QuillJS 自定义印迹选择:如何实现索引和位置
- java - 为日期对象实现 Parcelable - NullPointerException