Php 正确的路线是什么

Php 正确的路线是什么,php,laravel,routing,Php,Laravel,Routing,我创建了语言切换器,但当它是子页面时我有问题。我的路线: Route::post('/language', array( 'Middleware' => 'LanguageSwitcher', 'uses' => 'LanguageController@index' )); 工作正常,例如: http://localhost:8000/ http://localhost:8000/gallery 但不是为了 http://localhost:8000/galler

我创建了语言切换器,但当它是子页面时我有问题。我的路线:

Route::post('/language', array(
    'Middleware' => 'LanguageSwitcher',
    'uses' => 'LanguageController@index'
));
工作正常,例如:

http://localhost:8000/
http://localhost:8000/gallery
但不是为了

http://localhost:8000/gallery/bodnar
然后我放弃了

MethodNotAllowedHttpException in RouteCollection.php line 218:
如果我设置:

Route::post('/gallery/language', array(
    'Middleware' => 'LanguageSwitcher',
    'uses' => 'LanguageController@index'
));
为…工作

http://localhost:8000/gallery/bodnar
但不是为了

http://localhost:8000/
http://localhost:8000/gallery
邮政普遍化的正确途径是什么

my LanguageSwitcher.php

namespace App\Http\Middleware;

use Closure;

use App;
use Lang;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Config;

class LanguageSwitcher {

    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next) {
        App::setLocale(Session::has('locale') ? Session::get('locale') : Config::get('app.locale'));
        return $next($request);
    }

}

我想我知道你需要什么

用你的语言转换程序,我会假设它不是一条绝对的路径

或许可以使用您的第一个示例:

Route::post('/language', array(
    'Middleware' => 'LanguageSwitcher',
    'uses' => 'LanguageController@index'
));
在调用该路由时,请在刀片服务器中使用以下命令:

{{ url('language') }}

这将防止目录问题。

您所说的“通用”是什么意思?您希望它能够处理所有POST请求,还是只处理您提到的3个POST请求?(/,/gallery,/gallery/bodnar)?那么“/gallery/language”怎么可能与“/gallery/bodnar”匹配呢?我的意思是总是被发送-所有帖子。当我打开子页面/gallery/bodnar并尝试切换语言或打开/gallery时。也许我应该使用这样的东西:Route::post('/{name?}/language')?但这不起作用,我不知道哪个语法是正确的。我已经使用了这两种路由:--
Route::post('/language',array('Middleware'=>'LanguageSwitcher','uses'=>'LanguageController@index');路由::post('/{name}/language',数组('Middleware'=>'LanguageSwitcher','uses'=>'LanguageController@index“));
在视图中,我使用表单,但我不知道如何使用您的advide。
English Polski{{{form::token()}
尝试以下方法:(出于某种原因,我似乎无法格式化它。)EnglishPolski{{{Form::token()}