您好我使用laravel 5作为我的项目。
我的路线如下:
news/some-news-title/galery?page=2#photo/
它适用于我的分页画廊。但我看到,当我添加额外的参数end到url时,它仍然有效。
示例:
news/some-news-title/galery?page=2/amp
news/some-news-title/galery?page=2/asdasd
通常它不应该工作。但它显示了相同的画廊页面。
我尝试了一些代码,但它对我不起作用:
Route::any('news/{any}/{any?}/amp', function(){
return 'error';
});
Route::any('news/{any}/{any}/{any}', function(){
return 'error';
});
尝试这些代码时,它仍会打开同一页。
如何阻止或重定向此参数到404页面?
谢谢!
答案 0 :(得分:1)
它适用于我的分页画廊。但是,当我添加时,我看到了 额外的参数结束到url,它仍然有效。
这似乎是正确的行为。
让我们看一下你的网址
可能类似于http://example.com/news/some-news-title/galery?page=2#photo/anythingelse
我已在http://www.freeformatter.com检查了它,并说:
现在你关注网址的最后一部分(哈希)。
根据wikipedia:
由哈希标记#引入的片段标识符是文档URL的可选最后部分。它通常用于标识该文档的一部分。
简单来说,您无法过滤哈希部分,因为它属于当前文档,并被视为 URL的最后一部分。