php - php Laravel 仅家庭路由工作

  显示原文与译文双语对照的内容
57 2

问题所有路由都正确输入并由 php route:list 检查

+--------+----------+------+--------+-------------------------------------------
-------+------------+
|←[32m Domain ←[39m|←[32m Method ←[39m|←[32m URI ←[39m|←[32m Name ←[39m|←[3
2m Action ←[39m|←[32m Middleware ←[39m
|
+--------+----------+------+--------+-------------------------------------------
-------+------------+
| | GET|HEAD |/| home | AppHttpControllersQuoteController@getIn
dex | web |
| | POST | new | create | AppHttpControllersQuoteController@addNe
wQuote | web |
| | GET|HEAD | test | test | AppHttpControllersQuoteController@getTe
st | web |
+--------+----------+------+--------+-------------------------------------------
-------+------------+

仅 root 路由没有工作

我尝试的

  • 创建另一条路线,我确保没有任何路线只能工作,但是除了 home 外,还没有工作。
  • 试图将OverrideMode从无更改为全部,没有修复任何
  • 尝试手动输入 localhost/quotes/public/index.php BOOM 。

file:

<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>

工作:

  • Windows 10

  • XAMP

时间:原作者:0个回答

136 1

首先,像这样写你的表格

{!! 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()!!}

现在为路由部分,如果你使用 Laravel 5.2,你需要在这样的路由中分配web中间件

Route::group(['middleware' => 'web'], function () {
 Route::resource('quate', 'QuoteController');
});

最后,如果你使用,创建了控制器,它将自动生成所有必需的方法。

<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use AppHttpRequests;
class QuoteController extends Controller
{
 public function index(){
 return view('welcome');
 }
 public function create(){
 return view('test');
 }
public function store(Request $request){
//Some Code here
 }
}

现在当你在url中写英镑 quate it它打开欢迎视图,当你写create它打开测试视图,这是我的本地代码。

原作者:
136 5

你可以通过以下代码更改路由结构。很容易理解。

Route::get('/', 'QuoteController@getIndex')->name('home');
原作者:
...