301 在 laravel 中的 post ajax 请求上永久移动

问题描述 投票:0回答:4

我在服务器上上传了一个laravel项目; 当我运行所有 ajax post request 请求时,像这样运行:

Request URL: http://example.com/user/register/
Request Method: POST
Status Code: 301 Moved Permanently

然后运行:

Request URL: http://example.com/user/register
Request Method: GET
Status Code: 500 Internal Server Error (from disk cache)

Post方法改为get方法并返回错误; 我该如何解决这个问题?!

我尝试

php artisan cache:clear php artisan config:clear php artisan view:clear
但也返回错误

laravel routes serve
4个回答
32
投票

我找到了答案。放在这里是为了帮助其他人。 我花了很多时间。问题就这么简单。 我只是从每个帖子操作的网址末尾删除反斜杠。

例如

/user/register/
必须更改为
/user/register
:|

并且每个页面的浏览器缓存都必须清除。


5
投票

就我而言,它从

http
重定向到
https
确保您的最终域具有准确的域标头。

检查您的域名是否位于

http
https
上,并将其与请求源相匹配,例如 POSTMAN 请求或浏览器请求。


0
投票

在我上传文件的情况下,我的路线与公共目录相同 -> Route::POST('upload/data', [UploadDataController::class, 'upload'])->name('uploadData');

在我的公共文件夹中: 公共/上传/数据

所以我将路线更改为upload/uploadData,它完全没问题!


0
投票

我正在使用 Laravel 9

转到 public>.htaccess 并注释掉“如果不是文件夹则重定向尾部斜杠...”部分,如下所示:

 # Redirect Trailing Slashes If Not A Folder...
 # RewriteCond %{REQUEST_FILENAME} !-d
 # RewriteCond %{REQUEST_URI} (.+)/$
 # RewriteRule ^ %1 [L,R=301]

然后:

php artisan cache:clear
php artisan config:clear
php artisan optimize

并重新启动服务器。

它对我有用。

© www.soinside.com 2019 - 2024. All rights reserved.