第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Laravel 路由時(shí)如何防止出現(xiàn)多個(gè)斜杠?

Laravel 路由時(shí)如何防止出現(xiàn)多個(gè)斜杠?

PHP
波斯汪 2023-07-01 13:04:37
如何在 Laravel 路由過程中防止出現(xiàn)多個(gè)斜杠?http://localhost/page/1 - 工作并且它工作... http://localhost/////page/1 - 應(yīng)該返回 404 或重定向 此錯(cuò)誤也出現(xiàn)在 Laravel 網(wǎng)站上。 https://laravel.com////docs/5.5/errors#http-exceptions
查看完整描述

1 回答

?
慕桂英4014372

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊

需要明確的是,這不是一個(gè)錯(cuò)誤。錯(cuò)誤意味著這是框架開發(fā)人員明確表示不應(yīng)該發(fā)生但實(shí)際上發(fā)生的事情。這主要是一種未定義的行為。

發(fā)生這種情況的原因是請(qǐng)求如何確定當(dāng)前路徑:

Request::path()

public function path()

{

? ? $pattern = trim($this->getPathInfo(), '/');

? ? return $pattern == '' ? '/' : $pattern;

}

這將從/當(dāng)前路徑信息中修剪以獲取路徑。這并不是一件不合理的事情,因?yàn)槟ǔ2恍枰皩?dǎo)和尾隨斜杠,但這會(huì)導(dǎo)致具有許多前導(dǎo)和尾隨斜杠的路徑也可以像 https://laravel.com////docs 一樣工作/5.5/errors/////#http-exceptions

發(fā)生這種情況的原因是因?yàn)榉祷氐臉?biāo)準(zhǔn)路由驗(yàn)證器Route::getValidators()(特別是使用的 UriValidator?$request->path()

如果你真的必須堅(jiān)持“修復(fù)”這個(gè)問題,那么你可以添加一個(gè)自定義驗(yàn)證器來檢查這個(gè)確切的事情:

class MyUriValidator implements ValidatorInterface? {


? ? public function matches(Route $route, Request $request)

? ? {

? ? ? ? $path = $request->getPathInfo();

? ? ? ? return preg_match($route->getCompiled()->getRegex(), rawurldecode($path));

? ? }

}

然后您可以在您的中注冊(cè)這個(gè)額外的驗(yàn)證器AppServiceProvider:


public function boot() {

? ? Route::$validators = array_merge(Route::getValidators(), [ new MyUriValidator ]);

}


查看完整回答
反對(duì) 回復(fù) 2023-07-01
  • 1 回答
  • 0 關(guān)注
  • 156 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)