当前位置: 首页 > 知识库问答 >
问题:

Laravel路由在MAMP上不起作用

陶法
2023-03-14

我刚刚开始学习laravel,我正在使用MAMP。我在这个url上有一个表单:http://localhost:8888/laravel-site/my new app/public/ducks但当我提交表单时,它会将我带到此url:http://localhost:8888/ducks不会停留在我期望的地方。

routes.php文件包含以下内容:

Route::get('ducks', function() 
{
    return View::make('duck-form');
});

// route to process the ducks form
Route::post('ducks', function()
{

    // process the form here

});

在我的生活中。htaccess文件我有这个:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    RewriteBase /laravel-site/my-new-app/public/

    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

我可能遗漏了一些非常明显的东西,但是为什么当我提交表单时它不在同一页上?

共有3个答案

堵毅然
2023-03-14

只需使用命名路由。应该会有帮助。

Route::get('ducks', array('as' => 'showForm', function() 
{
  return View::make('duck-form');
}));

// route to process the ducks form
Route::post('ducks', function()
{

// the get route is named as showForm
  return Redirect::route('showForm');
});
竺勇
2023-03-14

检查是否在config/app中正确设置了应用程序url。php:

'url' => 'http://localhost:8888/laravel-site/my-new-app/public',

并确保您的表单提交到正确的路线。

Form::open(array('route' => 'ducks'))
公冶谦
2023-03-14

您尚未提供表单的HTML,但我猜您硬编码了如下内容,并希望Laravel能够使其正常工作:

<form method="post" action="/ducks">

然而,Laravel不会弄乱HTML。相反,您需要使用表单帮助器为您创建表单。试试这个:

{{ Form::open(['url' => 'ducks']) }}

这将为您提供正确的URL。记住不要在URL的开头使用/,Laravel已经假设所有URL都是相对于应用程序根目录的(但不一定是web服务器文档根目录)。

除此之外,您还应采纳此处提及的其他建议:

  • 将应用程序的URL设置为http://localhost:8888/laravel-app/config/local/app中的site/my new app/public。php
 类似资料:
  • 在修订工作中-Laravel 5.8-我面临一个奇怪的行为: 应用程序”政策”Customer策略 注册策略 应用程序”提供商”AuthServiceProvider 路由»网络 奇怪的是:上面的第一个路由-'客户/创建'-不工作,试图访问该页面得到一个403/禁止的代码。但是另外两个——“customers.edit”、“customers.update”——和预期的一样工作!!?!。

  • 由于以下错误(npm 3.10.10,webpack 3.8.1),我无法使用vue routes get。如何解决这个问题 编译失败。 ./node_modules/babel loader/lib/node_modules/vue loader/lib/selector.js?type=script 我使用简单的网页包 Quotes.vue Quote.vue new-quote.vue Ap

  • 问题内容: 我已经按照教程在我的应用程序中实现了路由 http://docs.angularjs.org/tutorial/step_07 我无法在IE7中使用我的版本,花了一段时间尝试找出我错过/做错的事情后,我注意到该示例不起作用。 http://angular.github.com/angular- phonecat/step-7/app/ 有人知道如何使它工作吗? 问题答案: 好的,我遇到

  • 我有一个带有一个提交按钮的表单,并在控制器中设置action to destroy方法。相同的代码适用于其他窗体和控制器,但不适用于此窗体和控制器。当我在Chrome中检查我的网页时,表单标签中的操作是错误的。 这是我的表格: 我通过设置\组织\公司控制器中的编辑方法访问此表单: 下面是设置\组织\公司控制器中的销毁方法:

  • 我面临的问题,而上传我laravel项目到共享服务器,微软天蓝色。我不能访问除/以外的路线。我的路由文件有以下代码: 基本上,我使用php artisan make:auth生成登录注册默认功能。 我可以访问我的 /route: http://40.121.138.22/monrostudio/public/ 但不能访问其他路由,如/login、/register或我创建的任何其他路由。

  • 我有一个问题,在laravel的新路线不工作,网址显示正确的路线,但几乎好像它没有得到我的路线Web文件只是返回页面没有找到每次。 我尝试过:使用命名路由,移动功能到不同的控制器,清除路由缓存,清除应用缓存,自卸自动加载,确保AllowOveride设置为所有, 网状物php: 控制器: 查看文件名:coursestatistics。刀身php文件结构视图/课程统计 链接至第页: 有人能告诉我是什