Php Laravel-仅回家路线工作
问题 所有路由都正确键入并由php artisan route检查:在此处列出输出Php Laravel-仅回家路线工作,php,laravel,.htaccess,laravel-artisan,Php,Laravel,.htaccess,Laravel Artisan,问题 所有路由都正确键入并由php artisan route检查:在此处列出输出 +--------+----------+------+--------+------------------------------------------- -------+------------+ |←[32m Domain ←[39m|←[32m Method ←[39m|←[32m URI ←[39m|←[32m Name ←[39m|←[3 2m Action
+--------+----------+------+--------+-------------------------------------------
-------+------------+
|←[32m Domain ←[39m|←[32m Method ←[39m|←[32m URI ←[39m|←[32m Name ←[39m|←[3
2m Action ←[39m|←[32m Middleware ←[39m
|
+--------+----------+------+--------+-------------------------------------------
-------+------------+
| | GET|HEAD | / | home | App\Http\Controllers\QuoteController@getIn
dex | web |
| | POST | new | create | App\Http\Controllers\QuoteController@addNe
wQuote | web |
| | GET|HEAD | test | test | App\Http\Controllers\QuoteController@getTe
st | web |
+--------+----------+------+--------+-------------------------------------------
-------+------------+
只有根路由在工作,其他什么都没有
我的尝试:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# 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]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
- 创建另一个路由,我确保没有任何路由只起作用 回家路线,除回家外仍不工作
- 试图将OverrideMode从“无”更改为“全部”,但未修复任何错误
- 尝试手动键入
BOOM它可以工作localhost/quotes/public/index.php
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# 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]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
选项-多视图
重新启动发动机
#如果不是文件夹,则重定向尾部斜杠。。。
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)/$/$1[L,R=301]
#处理前控制器。。。
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写规则^index.php[L]
#句柄授权头
RewriteCond%{HTTP:Authorization}。
重写规则。*-[E=HTTP\U授权:%{HTTP:AUTHORIZATION}]
处理:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# 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]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
- 视窗10
- XAMP
- 首先,像这样写表格
{!! Form::open(array('action' => 'QuoteController@store')) !!}
<table>
<tr>
<td><label for="author-form">Author Name:</label></td>
<td><input type="text" name="author-form" id="author-form" /></td>
</tr>
<tr>
<td><label for="quote-form">Quote:</label></td>
<td><textarea name="quote-form" id="quote-form" cols="30" rows="10"></textarea></td>
</tr>
<tr>
<td colspan='2'><button type="submit">Add Quote</button></td>
</tr>
<input type="hidden" name="_token" value="{{ Session::token() }}" />
</table>
{!!Form::close()!!}
Route::group(['middleware' => 'web'], function () {
Route::resource('quate', 'QuoteController');
});
最后,QuoteControllerCreateStore方法在其中,如果您使用artisan命令创建控制器,它将自动生成所有必需的方法
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
class QuoteController extends Controller
{
public function index(){
return view('welcome');
}
public function create(){
return view('test');
}
public function store(Request $request){
// Some Code here
}
}
首先,像这样写表单
{!! Form::open(array('action' => 'QuoteController@store')) !!}
<table>
<tr>
<td><label for="author-form">Author Name:</label></td>
<td><input type="text" name="author-form" id="author-form" /></td>
</tr>
<tr>
<td><label for="quote-form">Quote:</label></td>
<td><textarea name="quote-form" id="quote-form" cols="30" rows="10"></textarea></td>
</tr>
<tr>
<td colspan='2'><button type="submit">Add Quote</button></td>
</tr>
<input type="hidden" name="_token" value="{{ Session::token() }}" />
</table>
{!!Form::close()!!}
Route::group(['middleware' => 'web'], function () {
Route::resource('quate', 'QuoteController');
});
最后,QuoteControllerCreateStore方法在其中,如果您使用artisan命令创建控制器,它将自动生成所有必需的方法
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
class QuoteController extends Controller
{
public function index(){
return view('welcome');
}
public function create(){
return view('test');
}
public function store(Request $request){
// Some Code here
}
}
laravel文档中的“一旦您为给定的路由指定了一个名称,您可以在通过全局路由
功能生成URL或重定向时使用该路由的名称。”我认为这意味着您缺少了路由::post(“创建”…
在你的routes.php中。你想做的是表单不提交??或者你的视图有问题?@apokryfos在route.php
第二个路由呢??这就是你所说的吗?@BindeshPandya我只是在测试表单的路由是否有效。当我单击submit按钮刷新缓存的rou时,它会给我找不到路由tes,请使用php artisan route:clear
。如果您想查看所有路由,以查看它们是否已正确注册,可以使用php artisan route:list
。希望这能有所帮助。您应该更清楚地了解您从laravel文档中得到的错误以及您对问题的期望“一旦为给定路由指定了名称,您可以在通过全局路由
函数生成URL或重定向时使用路由的名称。”我认为这意味着您缺少路由::post(“创建”)"…
在你的routes.php中。你想做的是表单不提交??或者你的视图有问题?@apokryfos在route.php
第二个路由呢??这就是你所说的吗?@BindeshPandya我只是在测试表单的路由是否有效。当我单击submit按钮刷新缓存的rou时,它会给我找不到路由tes,使用php artisan route:clear
。如果您想查看所有的路由以查看它们是否已正确注册,可以使用php artisan route:list
。希望这有帮助。您应该更清楚地了解您在问题中遇到的错误以及您的期望!Laravel 5.xAlso,y中没有表单:
您不再需要web中间件-这现在由路由服务提供商来处理。@Pyton默认的Laravel安装中没有表单::
。您仍然可以通过composer将其作为依赖项添加。我认为这是为了使Laravel更加模块化,并让开发人员在需要时选择其他模块。我知道,但是作者不能。Laravel 5.xAlso中没有表单::
,您不再需要web中间件-这现在由路由服务提供商处理。@Pyton默认的Laravel安装中没有表单::
。您仍然可以通过composer将其作为依赖项添加。我认为这个想法是为了使Laravel更加模块化,更加安全如果开发人员需要,让他们选择其他模块。我知道,但作者不能。